Add patch to fix build on ARM

This commit is contained in:
Peter Robinson 2012-02-16 00:57:04 +00:00
parent 157195c22f
commit c2bd71a089
2 changed files with 65 additions and 1 deletions

View 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

View File

@ -4,13 +4,14 @@
Summary: An unwinding library
Name: libunwind
Version: 1.0.1
Release: 2%{?dist}
Release: 3%{?dist}
License: BSD
Group: Development/Debuggers
Source: http://download.savannah.gnu.org/releases/libunwind/libunwind-%{version}.tar.gz
#Fedora specific patch
Patch1: libunwind-disable-setjmp.patch
Patch2: libunwind-install-ptrace.patch
Patch3: libunwind-arm-register-rename.patch
URL: http://savannah.nongnu.org/projects/libunwind
ExclusiveArch: %{arm} hppa ia64 mips ppc ppc64 %{ix86} x86_64
@ -36,6 +37,7 @@ libunwind.
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1 -b .arm
%build
aclocal
@ -86,6 +88,9 @@ echo ====================TESTSUITE DISABLED=========================
%{_includedir}/libunwind*.h
%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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild