[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libffcall] new clisp/libffcall/libsigsegv for testing
From: |
Bruno Haible |
Subject: |
Re: [Libffcall] new clisp/libffcall/libsigsegv for testing |
Date: |
Tue, 18 Apr 2017 10:19:59 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-72-generic; KDE/5.18.0; x86_64; ; ) |
Hi Mojca,
> > I checked libffcall and I only found one such test. The libsigsegv
> > library contains more, but in the context of cross-compilation on
> > Darwin that should not really be an issue since cross-compiled
> > binaries can be executed.
>
> I just looked at libffcall-1.13-20170225.
>
> I checked
> avcall/config.log
> which contains:
>
> configure:3531: checking build system type
> configure:3545: result: x86_64-apple-darwin10.8.0
> configure:3565: checking host system type
> configure:3578: result: x86_64-apple-darwin10.8.0
> configure:3623: checking host CPU and C ABI
> configure:3862: result: x86_64
There are also these tests:
checking for working shared memory... no
checking whether code in malloc()ed memory is executable... yes
checking whether mprotect can make malloc()ed memory executable... yes
checking for pcc non-reentrant struct return convention... no
checking whether small structs are returned in registers... no
checking whether floats are returned in integer registers... no
which you can't guess when cross-compiling.
> But I guess that "guessing yes/no" results from compier refusing to
> run some tests then? All those tests could easily run:
>
> checking for working shared memory... guessing no
> checking whether code in malloc()ed memory is executable... guessing yes
When configure says "guessing yes/no" is means that you are cross-compiling,
that is, binaries created by the specified compiler cannot be run on the build
machine.
> Make then fails with
>
> libtool: compile: /usr/bin/gcc -x none -c avcall-powerpc.s -o
> avcall-powerpc.o
> avcall-powerpc.s:5:no such instruction: `mflr r0'
> avcall-powerpc.s:6:no such instruction: `stmw r29,-12(r1)'
> avcall-powerpc.s:7:no such instruction: `stw r0,8(r1)'
> avcall-powerpc.s:8:no such instruction: `mr r29,r3'
> avcall-powerpc.s:9:no such instruction: `stwu r1,-1104(r1)'
> ...
> but that's because CFLAGS are missing. If I manually run that same
> command with "-arch ppc" added, then that single build instruction
> succeeds.
If you want to provide patches for cross-compilation ONLY for
Mac OS X x86_64 -> Mac OS X powerpc (for libffcall and libsigsegv -
for clisp you won't succeed), I might accept these if they are
limited in size.
I'm not categorically opposed to cross-compilation; it's a question of
amount of work.
Bruno