diff --git a/gcl-2.6.11-ppc64.patch b/gcl-2.6.11-ppc64.patch new file mode 100644 index 0000000..b3f1a00 --- /dev/null +++ b/gcl-2.6.11-ppc64.patch @@ -0,0 +1,48 @@ +--- ./h/elf64_ppcle_reloc.h.orig 2014-09-06 09:45:30.000000000 -0600 ++++ ./h/elf64_ppcle_reloc.h 2014-09-23 12:00:00.000000000 -0600 +@@ -22,3 +22,6 @@ + case R_PPC64_TOC: + store_val(where,~0L,toc->st_value); + break; ++ case R_PPC64_REL32: ++ store_ival((int *)where,~0L,(s+a-p)); ++ break; +--- ./h/elf64_ppcle_reloc_special.h.orig 2014-09-06 09:45:30.000000000 -0600 ++++ ./h/elf64_ppcle_reloc_special.h 2014-09-23 12:00:00.000000000 -0600 +@@ -63,3 +63,12 @@ label_got_symbols(void *v1,Shdr *sec1,Sh + return 0; + + } ++ ++static int ++store_ival(int *w,ul m,ul v) { ++ ++ *w=(v&m)|(*w&~m); ++ ++ return 0; ++ ++} +--- ./h/elf64_ppc_reloc.h.orig 2014-09-06 09:45:30.000000000 -0600 ++++ ./h/elf64_ppc_reloc.h 2014-09-23 12:00:00.000000000 -0600 +@@ -17,3 +17,6 @@ + case R_PPC64_TOC: + store_val(where,~0L,toc); + break; ++ case R_PPC64_REL32: ++ store_ival((int *)where,~0L,(s+a-p)); ++ break; +--- ./h/elf64_ppc_reloc_special.h.orig 2014-09-06 09:45:30.000000000 -0600 ++++ ./h/elf64_ppc_reloc_special.h 2014-09-23 12:00:00.000000000 -0600 +@@ -86,3 +86,12 @@ label_got_symbols(void *v1,Shdr *sec1,Sh + return 0; + + } ++ ++static int ++store_ival(int *w,ul m,ul v) { ++ ++ *w=(v&m)|(*w&~m); ++ ++ return 0; ++ ++} diff --git a/gcl.spec b/gcl.spec index 7d05850..6335b2b 100644 --- a/gcl.spec +++ b/gcl.spec @@ -3,7 +3,7 @@ Name: gcl Version: 2.6.11 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU Common Lisp Group: Development/Languages @@ -73,6 +73,8 @@ Patch14: %{name}-2.6.11-asm-signal-h.patch Patch15: %{name}-2.6.11-largefile.patch # Fix a linker problem on ARM platforms. Patch16: %{name}-2.6.11-arm.patch +# Support R_PPC64_REL32 relocations on ppc64/ppc64le +Patch17: %{name}-2.6.11-ppc64.patch BuildRequires: libXaw-devel BuildRequires: readline-devel @@ -172,6 +174,7 @@ gcl_exec_t. %patch14 %patch15 %patch16 +%patch17 # Ensure the frame pointer doesn't get added back sed -i 's/"-fomit-frame-pointer"/""/' configure @@ -330,6 +333,9 @@ fi %changelog +* Tue Sep 23 2014 Jerry James - 2.6.11-2 +- Add -ppc64 patch to fix build on ppc64/ppc64le (bz 1145521) + * Mon Sep 8 2014 Jerry James - 2.6.11-1 - New upstream release (bz 1138998) - Drop upstreamed patches