Sorry if this is a known issue.
I'm Still running tcc on my Rpi box.
1) Download latest mob
2) Patch configure to add armv6l
3) ./configure; make <- no error, 1 warning tccelf.c:1327:12:
warning: 'tcc_add_support' defined but not used
4) make install
So, expect for armv6l patch, is compiles and installs ROOTB (congrat!)
NOTE tcc bootstrap was done with official gcc 4.6.3 (as upgraded last week)
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian
4.6.3-12+rpi1' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --enable-objc-gc
--disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard
--enable-checking=release --build=arm-linux-gnueabihf
--host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-12+rpi1)
Now testing with foo.c:
#include <stdio.h>
int
main()
{
int i = 103;
int j = 10;
printf("%d, %d\n", i / j, i % j);
}
I get
tcc: error: undefined symbol '__aeabi_idiv'
tcc: error: undefined symbol '__aeabi_idivmod'
To compile (in fact to link, I have to add libgcc.a)
tcc -o foo foo.c -L/usr/lib/gcc/arm-linux-gnueabihf/4.6 -lgcc
.. and this binary (as other more complex examples) worked well.
Changing int to unsigned int results in:
tcc: error: undefined symbol '__aeabi_uidiv'
tcc: error: undefined symbol '__aeabi_uidivmod'
Now the question:
Is it expected to link with libgcc.a ? What other __aeabi_xxx functions are
missing?
Could we add them in libtcc.a ?
If tcc is expected to replace gcc, imho it should not use any gcc specific
lib.
I've also checked that no .a exist in /usr/lib having those missing
functions.
Christian
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel