gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Support for little-endian ppc64


From: Camm Maguire
Subject: Re: [Gcl-devel] Support for little-endian ppc64
Date: Tue, 23 Sep 2014 15:09:43 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)

Greetings, and thanks for your work on this and reports!

There is a proto Debian ppc64le port in unstable which builds axiom,
hol88, and acl2.  There are gcc compiler bugs preventing a maxima
testsuite pass.  I am in dialogue with the gcc maintainers, and am
filing bugs, but if you want to do it, please feel free to take over!

I will look at/apply your reloc patches -- thanks!

I suspect selinux chcon settings on the mprotect failure.

Take care,

Jerry James <address@hidden> writes:

> 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,

-- 
Camm Maguire                                        address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



reply via email to

[Prev in Thread] Current Thread [Next in Thread]