[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Support for little-endian ppc64
From: |
Jerry James |
Subject: |
Re: [Gcl-devel] Support for little-endian ppc64 |
Date: |
Tue, 23 Sep 2014 12:22:43 -0600 |
On Tue, Sep 23, 2014 at 10:41 AM, Jerry James <address@hidden> wrote:
> The failure is due to a reloc of type R_PPC64_REL32, which isn't
> currently handled. But I wonder if this is going to work, even if
> that reloc type is handled. Should we pursue fixing the gcl build on
> ppc64le, or is that a foolish thing to attempt at this stage?
This was a silly question, given the existence of
h/elf64_ppcle_reloc.h. I think this patch is needed:
--- h/elf64_ppcle_reloc.h.orig 2014-09-06 09:45:30.000000000 -0600
+++ h/elf64_ppcle_reloc.h 2014-09-23 11:41:12.586957300 -0600
@@ -22,3 +22,6 @@
case R_PPC64_TOC:
store_val(where,~0L,toc->st_value);
break;
+ case R_PPC64_REL32:
+ store_val(where,~0L,(s+a-p));
+ break;
--- h/elf64_ppc_reloc.h.orig 2014-09-06 09:45:30.000000000 -0600
+++ h/elf64_ppc_reloc.h 2014-09-23 12:02:45.257127793 -0600
@@ -17,3 +17,6 @@
case R_PPC64_TOC:
store_val(where,~0L,toc);
break;
+ case R_PPC64_REL32:
+ store_val(where,~0L,(s+a-p));
+ break;
But I am by no means any kind of expert on relocs, so please don't
take my word for it. After applying that patch, the build gets
farther but now fails like this (on big-endian ppc64):
Compiling GCL_PCL_LOW...
Compiling /builddir/build/BUILD/gcl/unixport/../pcl/gcl_pcl_low.lisp.
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3
Finished compiling /builddir/build/BUILD/gcl/unixport/../pcl/gcl_pcl_low.o.
Loading binary of GCL_PCL_LOW...
Loading /builddir/build/BUILD/gcl/unixport/../pcl/gcl_pcl_low.o
mprotect failure: 0x14e0000 65536 7: Permission denied
Error: The assertion !clear_protect_memory(memory) on line 580 of
sfaslelf.c in function fasload failed
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by OR.
Broken at OR. Type :H for Help.
PCL>>makefile:34: recipe for target 'gcl_pcl_boot.c' failed
make[1]: Leaving directory '/builddir/build/BUILD/gcl/pcl'
make[1]: *** [gcl_pcl_boot.c] Error 255
makefile:83: recipe for target 'unixport/saved_pcl_gcl' failed
I will try to figure out what is going wrong there. Regards,
--
Jerry James
http://www.jamezone.org/
- [Gcl-devel] Support for little-endian ppc64, Jerry James, 2014/09/23
- Re: [Gcl-devel] Support for little-endian ppc64,
Jerry James <=
- Re: [Gcl-devel] Support for little-endian ppc64, Camm Maguire, 2014/09/23
- Re: [Gcl-devel] Support for little-endian ppc64, Jerry James, 2014/09/23
- Re: [Gcl-devel] Support for little-endian ppc64, Jerry James, 2014/09/23
- Re: [Gcl-devel] Support for little-endian ppc64, Camm Maguire, 2014/09/23
- Re: [Gcl-devel] Support for little-endian ppc64, Jerry James, 2014/09/23
- Re: [Gcl-devel] Support for little-endian ppc64, Camm Maguire, 2014/09/29
- Re: [Gcl-devel] Support for little-endian ppc64, Jerry James, 2014/09/30
- Re: [Gcl-devel] Support for little-endian ppc64, Camm Maguire, 2014/09/30