Subject: bug#9192: closed (Re: bug#13479: Cross Compiling for ARM)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 10 Jan 2024 11:57:02 +0000

Your bug report

#13479: Cross-compile for ARM

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
13479: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=13479
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#13479: Cross Compiling for ARM
From: Stefan Kangas <[email-masked]>
To: Po Lu <[email-masked]>
Cc: Toon Claes <[email-masked]>, [email-masked], [email-masked]
Date: Wed, 10 Jan 2024 03:56:41 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Po Lu <[email-masked]> writes:

> Stefan Kangas <[email-masked]> writes:
>
>> Toon Claes <[email-masked]> writes:
>>
>>> I was trying to cross-compile emacs for ARM (don't ask me why).
>>> But got an error during 'make' (see output below FIRST RUN).
>>>
>>> So it's for sure 'test-distrub' was build for ARM, while it is trying to run on i686.
>>>
>>> On the second run (just, ran 'make again), I got a similar error on 'prefix-args'.
>>> But for some reason the 'test-distrub' error is gone (probably because 'make' thinks it is already finished.
>>>
>>> So I have to compile them with the host compiler (i686).
>>> But I'm not sure how to implement this properly.
>>>
>>>
>>> Also I would like to get rid of the warning: "LIB_GCC" redefined
>>
>> That was 12 years ago.  I'm therefore reaching out to ask if this bug is
>> still relevant, or if it has since been fixed?
>>
>> If I don't hear back from you within a couple of months, Ill just assume
>> that this has been fixed and close this bug.
>
> The Android port is routinely cross-compiled for ARM systems, so despite
> its using a different build procedure from the rest of our builds, no
> code except dumping should remain that prevents cross-compiling Emacs.
>
> The OP's requirements have also been satisified by the Android port,
> which is supposed to support Chromebooks.

Thanks, I'm therefore closing this bug report.

If this conclusion is incorrect and this is still an issue, please reply
to this email (use "Reply to all" in your email client) and we can
reopen the bug report.

Subject: Cross-compile for ARM
From: Toon Claes <[email-masked]>
To: [email-masked]
Date: Thu, 28 Jul 2011 20:53:40 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

I was trying to cross-compile emacs for ARM (don't ask me why).
But got an error during 'make' (see output below FIRST RUN).

So it's for sure 'test-distrub' was build for ARM, while it is trying to run on i686.

On the second run (just, ran 'make again), I got a similar error on 'prefix-args'.
But for some reason the 'test-distrub' error is gone (probably because 'make' thinks it is already finished.

So I have to compile them with the host compiler (i686).
But I'm not sure how to implement this properly.

Also I would like to get rid of the warning: "LIB_GCC" redefined

Regards,
Toon

-------------- FIRST RUN -------------------
system call: make
cd lib-src; make all                            \
          CC='arm-none-linux-gnueabi-gcc' CFLAGS='-DHAVE_STRERROR' CPPFLAGS='-D_BSD_SOURCE  ' \
          LDFLAGS='-L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc ' MAKE='make'
make[1]: Entering directory `/home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src'
arm-none-linux-gnueabi-gcc -D_BSD_SOURCE -DHAVE_CONFIG_H -I. -I../src -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/../src -L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc  -D_BSD_SOURCE   -DHAVE_STRERROR -o test-distrib /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/test-distrib.c
In file included from ../src/config.h:1075,
                 from /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/test-distrib.c:23:
../src/m/arm.h:42:1: warning: "LIB_GCC" redefined
In file included from ../src/config.h:1074,
                 from /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/test-distrib.c:23:
../src/s/gnu-linux.h:200:1: warning: this is the location of the previous definition
./test-distrib /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/testfile
./test-distrib:2: no such file or directory: ^@^@^@؃^@^@\M-l^@^@^@^R^@^@^@^@^@^@\M-d\M-^C^@^@,^@^@^@^R^@^@^@Q^@^@^@\M-p\M-^C^@^@\M-h^@^@^@^R^@^@^@/^@^@^@\M-|\M-^C^@^@d^@^@^@^R^@^@^@h^@^@^@^H\M-^D^@^@d^@^@^@^R^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@[email-masked]^@perror^@abort^@fprintf^@read^@strncmp^@open64^@strcmp^@stderr^@exit^@__libc_start_main^@[email-masked]^@^@^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^@^@^@^@^A^@^A^@^P^@^@^@^P^@^@^@^@^@^@^@^Tii^M^@^@^B^@n^@^@^@^@^@^@^@<\t^A^@^U^L^@^@(\n^A^@^T^F^@^@^T\t^A^@^V^A^@^@^X\t^A^@^V^B^@^@^\\t^A^@^V^C^@^@ \t^A^@^V^D^@^@$\t^A^@^V^E^@^@(\t^A^@^V^G^@^@,\t^A^@^V^H^@^@0\t^A^@^V\t^@^@4\t^A^@^V\n^@^@8\t^A^@^V^K^@^@^D\M-`-\M-e^D\M-PM\M-b2^@^@\M-k^DЍ\M-b^@\M-^@\M-=\M-h^D\M-`-\M-e^D\M-`\M-^_\M-e^N\M-`\M-^O\M-`^H\M-p\M->\M-ep\M-^E^@^@^@Ə\M-b^Hʌ\M-bp\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bh\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b`\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bX\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bP\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bH\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b@\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b8\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b0\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b(\M-u\M-<\M-e$\M-@\M-^_\M-e^@\M-0\M- \M-c^D^P\M-^]\M-d^M \M- \M-a^D -\M-e^D^@-\M-e^P^@\M-^_\M-e^P0\M-^_\M-e^D\M-@-\M-e\M-]\M-^?\M-^?\M-k\M-V\M-^?\M-^?\M-kІ^@^@t\M-^E^@^@Ԇ^@^@^@D-\M-i^X\M- \M-^_\M-e\n\M- \M-^O\M-`^T0\M-^_\M-e^C0\M-^Z\M-g^@^@S\M-c^@\M-^D\M-=^H3\M-^?/\M-a^@\M-^D\M-=謄^@^@4^@^@^@^P \M-^_\M-e^@0\M-R\M-e^@^@S\M-c^A0\M-^C^B^@0\M-B^E^^\M-^?/\M-a,\n^A^@^D\M-`-\M-e$^@\M-^_\M-e^D\M-PM\M-b^@0\M-^P\M-e^\ \M-^_\M-e^@^@S\M-c^B^@^@\n^@^@R\M-c^@^@^@\n2\M-^?/\M-a^DЍ\M-b^@\M-^@\M-=\M-h^\^H^A^@^@^@^@^@^M\M-@\M- \M-a^@\M-X-\M-i^D\M-0L\M-b^X\M-PM\M-b^X^@^K\M-e^\^P^K\M-e  ^K\M-e^@0\M- \M-c^P0^K\M-e^P0^[\M-e^C \M- \M-a^\0^[\M-e^C^P\M-^B\M-`  ^[\M-e^P0^[\M-e^B0c\M-`^X^@^[\M-e^C \M- \M-a\M-8\M-^?\M-^?\M-k^@0\M- \M-a^T0^K\M-e^T0^[\M-e^@^@S\M-c^B^@^@^Z^P0^[\M-e$0^K\M-e\n^@^@\M-j^T0^[\M-e^@^@S\M-c^B^@^@\M-*^T0^[\M-e$0^K\M-e^D^@^@\M-j^P0^[\M-e^T ^[\M-e^B0\M-^C\M-`^P0^K\M-e\M-b\M-^?\M-^?\M-j$0^[\M-e^C^@\M- \M-a^L\M-PK\M-b^@\M-(\M-^]\M-h^M\M-@\M- \M-a^@\M-X-\M-i^D\M-0L\M-b^P\M-PM\M-b^X^@^K\M-e^\^P^K\M-e^X0^[\M-e^B^@S\M-c\t^@^@\n^X1\M-^_\M-e^@ \M-^S\M-e^\0^[\M-e^@0\M-^S\M-e^B^@\M- \M-a^H^Q\M-^_\M-e^C \M- \M-a\M-\n\M-^?\M-^?\M-k^A^@\M- \M-c\M-^K\M-^?\M-^?\M-k^\0^[\M-e^D0\M-^C\M-b^@0\M-^S\M-e^C^@\M- \M-a^@^P\M- \M-c^?\M-^?\M-^?\M-k^@0\M- \M-a^P0^K\M-e^P0^[\M-e^@^@S\M-c^F^@^@\M-*^\0^[\M-e^D0\M-^C\M-b^@0\M-^S\M-e^C^@\M- \M-ar\M-^?\M-^?\M-k^A^@\M- \M-cy\M-^?\M-^?\M-k^P^@^[\M-e\M-,^P\M-^_\M-es \M- \M-c\M-,\M-^?\M-^?\M-k^@0\M- \M-as^@S\M-c^S^@^@^Z\M-^T^@\M-^_\M-e\M-^T^P\M-^_\M-ec\M-^?\M-^?\M-k^@0\M- \M-a^@^@S\M-c^M^@^@^Z^P^@^[\M-ex^P\M-^_\M-el \M- \M-c\M-^_\M-^?\M-^?\M-k^@0\M- \M-ak^@S\M-c^F^@^@^Z`^@\M-^_\M-ed^P\M-^_\M-ek \M- \M-cO\M-^?\M-^?\M-k^@0\M- \M-a^@^@S\M-c\n^@^@\n<0\M-^_\M-e^@ \M-^S\M-e^\0^[\M-e^D0\M-^C\M-b^@0\M-^S\M-e^B^@\M- \M-a8^P\M-^_\M-e^C \M- \M-aR\M-^?\M-^?\M-k^A^@\M- \M-cS\M-^?\M-^?\M-k^P^@^[\M-eW\M-^?\M-^?\M-k^@0\M- \M-c^C^@\M- \M-a^L\M-PK\M-b^@\M-(\M-^]\M-h(\n^A^@T\M-^G^@^@-\n^A^@H\t^A^@\M-<\t^A^@h\M-^G^@^@^^\M-^?/\M-a\M-pG-\M-iT\M- \M-^_\M-e\n\M- \M-^O\M-`^@\M-^P\M- \M-a^A\M-^@\M- \M-a^Bp\M- \M-a \M-^?\M-^?\M-k@ \M-^_\M-e^B^P\M-\n\M-`<0\M-^_\M-e^C0b\M-`Ca\M-0\M-a\M-p\M-^G\M-=^H^@@\M- \M-c^AP\M- \M-a\t^@\M- \M-a^H^P\M- \M-a^G \M- \M-a^O\M-`\M- \M-a^D\M-p\M-^U\M-d^A@\M-^D\M-b^D^@V\M-a\M-w\M-^?\M-^?^Z\M-p\M-^G\M-=\M-h$\M-^B^@^@^L\M-^?\M-^?\M-^?^P\M-^?\M-^?\M-^?^D\M-`-\M-e^D\M-PM\M-b^DЍ\M-b^@\M-^@\M-=\M-h^A^@^B^@Usage: %s testfile\n^@Data in file `%s
./test-distrib:18: command not found: Most
./test-distrib:19: command not found: have
./test-distrib:39: unmatched '
make[1]: *** [test-distrib] Error 127

-------------- SECOND RUN -------------------
arm-none-linux-gnueabi-gcc -c -D_BSD_SOURCE   -Demacs -DHAVE_CONFIG_H  -I. -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/src -D_BSD_SOURCE     -DHAVE_STRERROR -MMD -MF deps/prefix-args.d prefix-args.c
In file included from ./config.h:1075,
                 from prefix-args.c:46:
./m/arm.h:42:1: warning: "LIB_GCC" redefined
In file included from ./config.h:1074,
                 from prefix-args.c:46:
./s/gnu-linux.h:200:1: warning: this is the location of the previous definition
arm-none-linux-gnueabi-gcc -Demacs -DHAVE_CONFIG_H  -I. -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/src -D_BSD_SOURCE     -DHAVE_STRERROR -MMD -MF deps/.d -L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc  prefix-args.o -o prefix-args
arm-none-linux-gnueabi-gcc -nostdlib `./prefix-args -Xlinker  -z nocombreloc` -L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc  -o temacs pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o dispnew.o frame.o scroll.o xdisp.o menu.o  window.o charset.o coding.o category.o ccl.o character.o chartab.o cm.o term.o terminal.o xfaces.o    emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexelf.o bytecode.o process.o callproc.o region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o composite.o md5.o     terminfo.o lastfile.o   vm-limit.o  mktime.o       -lncurses   -lgcc_s -lm -lgcc -lc -lgcc /usr/lib/crtn.o -lgcc_s
zsh:1: exec format error: ./prefix-args
/home/toon/sandbox/os/Ref/imx31d/imx31-toolchain/Imx31/bin/../lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: /usr/lib/crt1.o: Relocations in generic ELF (EM: 3)
/home/toon/sandbox/os/Ref/imx31d/imx31-toolchain/Imx31/bin/../lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: /usr/lib/crt1.o: Relocations in generic ELF (EM: 3)
/home/toon/sandbox/os/Ref/imx31d/imx31-toolchain/Imx31/bin/../lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: /usr/lib/crt1.o: Relocations in generic ELF (EM: 3)
/usr/lib/crt1.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [temacs] Error 1
make[1]: Leaving directory `/home/toon/sandbox/os/Build/imx31d/emacs-23.3/src'
make: *** [src] Error 2