tinycc-devel
[Top][All Lists]
Advanced

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

[Tinycc-devel] cross-compilation of tcc fails


From: Emmanuel Deloget
Subject: [Tinycc-devel] cross-compilation of tcc fails
Date: Tue, 28 Apr 2015 02:21:01 +0200

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


reply via email to

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