Hello,

I'm cross-compiling tcc to create a native ARM compiler for an ARM platform
and noticed that this is just not possible with the current build scripts.

$ ./configure --cpu=armv7a --cross-prefix=arm-openwrt-linux-muslgnueabi-

The problem happens when the system tries to compile a native library:

  make -C lib native
  make[1]: Entering directory '/home/me/tcc-2015-04-28/lib'
  mkdir -p arm
  ../tcc -B.. -c libtcc1.c -o arm/libtcc1.o -I..  -fPIC -DTCC_TARGET_ARM
  ../tcc: 1: ../tcc: Syntax error: word unexpected (expecting ")")

(I spare you tons of lines ; I'm integrating tcc as an openwrt package as I
don't want to build my own toolchain).

Now, the error is perfectly logical, as tcc is:

  $ file tcc
  tcc: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically
linked,
  interpreter /lib/ld-musl-arm.so.1, not stripped

it's not going to run.

I'm more or less stick here: either I create cross-compilers and the
library is built using the cross compilers (but that don't help much, as
the cross-compiler will not run on my target host) or I build a
cross-compiled native tcc but then I cannot compile the library.

Unfortunately, I cannot build tcc for arm and rebuild it (with its native
library) on the target host.

So, question: what would be a good way to remove that deadly lock ?

A) when cross-compiling, build the corresponding cross-compiler to build
the library? That ould require to either have more configure switch or to
detect the target arch from the cross-prefix (this is not always possible).

B) use the cross-compiler to built the target library? it should not be
difficult but I'm not sure that a good thing.

C) something I haven't said yet?

Best regards,

-- Emmanuel Deloget
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to