Add patch to fix build on ARM
This commit is contained in:
parent
157195c22f
commit
c2bd71a089
59
libunwind-arm-register-rename.patch
Normal file
59
libunwind-arm-register-rename.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
--- libunwind-1.0.1/src/arm/init.h.orig 2012-02-15 18:33:08.000000000 -0500
|
||||||
|
+++ libunwind-1.0.1/src/arm/init.h 2012-02-15 18:29:19.000000000 -0500
|
||||||
|
@@ -29,26 +29,26 @@
|
||||||
|
{
|
||||||
|
int ret, i;
|
||||||
|
|
||||||
|
- c->dwarf.loc[R0] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R0);
|
||||||
|
- c->dwarf.loc[R1] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R1);
|
||||||
|
- c->dwarf.loc[R2] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R2);
|
||||||
|
- c->dwarf.loc[R3] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R3);
|
||||||
|
- c->dwarf.loc[R4] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R4);
|
||||||
|
- c->dwarf.loc[R5] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R5);
|
||||||
|
- c->dwarf.loc[R6] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R6);
|
||||||
|
- c->dwarf.loc[R7] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R7);
|
||||||
|
- c->dwarf.loc[R8] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R8);
|
||||||
|
- c->dwarf.loc[R9] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R9);
|
||||||
|
- c->dwarf.loc[R10] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R10);
|
||||||
|
- c->dwarf.loc[R11] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R11);
|
||||||
|
- c->dwarf.loc[R12] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R12);
|
||||||
|
- c->dwarf.loc[R13] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R13);
|
||||||
|
- c->dwarf.loc[R14] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R14);
|
||||||
|
- c->dwarf.loc[R15] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R15);
|
||||||
|
- for (i = R15 + 1; i < DWARF_NUM_PRESERVED_REGS; ++i)
|
||||||
|
+ c->dwarf.loc[REG_R0] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R0);
|
||||||
|
+ c->dwarf.loc[REG_R1] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R1);
|
||||||
|
+ c->dwarf.loc[REG_R2] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R2);
|
||||||
|
+ c->dwarf.loc[REG_R3] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R3);
|
||||||
|
+ c->dwarf.loc[REG_R4] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R4);
|
||||||
|
+ c->dwarf.loc[REG_R5] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R5);
|
||||||
|
+ c->dwarf.loc[REG_R6] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R6);
|
||||||
|
+ c->dwarf.loc[REG_R7] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R7);
|
||||||
|
+ c->dwarf.loc[REG_R8] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R8);
|
||||||
|
+ c->dwarf.loc[REG_R9] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R9);
|
||||||
|
+ c->dwarf.loc[REG_R10] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R10);
|
||||||
|
+ c->dwarf.loc[REG_R11] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R11);
|
||||||
|
+ c->dwarf.loc[REG_R12] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R12);
|
||||||
|
+ c->dwarf.loc[REG_R13] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R13);
|
||||||
|
+ c->dwarf.loc[REG_R14] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R14);
|
||||||
|
+ c->dwarf.loc[REG_R15] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R15);
|
||||||
|
+ for (i = REG_R15 + 1; i < DWARF_NUM_PRESERVED_REGS; ++i)
|
||||||
|
c->dwarf.loc[i] = DWARF_NULL_LOC;
|
||||||
|
|
||||||
|
- ret = dwarf_get (&c->dwarf, c->dwarf.loc[R15], &c->dwarf.ip);
|
||||||
|
+ ret = dwarf_get (&c->dwarf, c->dwarf.loc[REG_R15], &c->dwarf.ip);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
--- libunwind-1.0.1/src/arm/Gglobal.c.orig 2012-02-15 18:33:21.000000000 -0500
|
||||||
|
+++ libunwind-1.0.1/src/arm/Gglobal.c 2012-02-15 18:28:27.000000000 -0500
|
||||||
|
@@ -37,7 +37,8 @@
|
||||||
|
|
||||||
|
HIDDEN uint8_t dwarf_to_unw_regnum_map[16] =
|
||||||
|
{
|
||||||
|
- R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15
|
||||||
|
+ REG_R0, REG_R1, REG_R2, REG_R3, REG_R4, REG_R5, REG_R6, REG_R7,
|
||||||
|
+ REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15
|
||||||
|
};
|
||||||
|
|
||||||
|
HIDDEN void
|
@ -4,13 +4,14 @@
|
|||||||
Summary: An unwinding library
|
Summary: An unwinding library
|
||||||
Name: libunwind
|
Name: libunwind
|
||||||
Version: 1.0.1
|
Version: 1.0.1
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
License: BSD
|
License: BSD
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
Source: http://download.savannah.gnu.org/releases/libunwind/libunwind-%{version}.tar.gz
|
Source: http://download.savannah.gnu.org/releases/libunwind/libunwind-%{version}.tar.gz
|
||||||
#Fedora specific patch
|
#Fedora specific patch
|
||||||
Patch1: libunwind-disable-setjmp.patch
|
Patch1: libunwind-disable-setjmp.patch
|
||||||
Patch2: libunwind-install-ptrace.patch
|
Patch2: libunwind-install-ptrace.patch
|
||||||
|
Patch3: libunwind-arm-register-rename.patch
|
||||||
URL: http://savannah.nongnu.org/projects/libunwind
|
URL: http://savannah.nongnu.org/projects/libunwind
|
||||||
ExclusiveArch: %{arm} hppa ia64 mips ppc ppc64 %{ix86} x86_64
|
ExclusiveArch: %{arm} hppa ia64 mips ppc ppc64 %{ix86} x86_64
|
||||||
|
|
||||||
@ -36,6 +37,7 @@ libunwind.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1 -b .arm
|
||||||
|
|
||||||
%build
|
%build
|
||||||
aclocal
|
aclocal
|
||||||
@ -86,6 +88,9 @@ echo ====================TESTSUITE DISABLED=========================
|
|||||||
%{_includedir}/libunwind*.h
|
%{_includedir}/libunwind*.h
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.0.1-3
|
||||||
|
- Add patch to fix build on ARM
|
||||||
|
|
||||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-2
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user