On Fri, Oct 26, 2007 at 03:35:12PM +0900, Sanghyeon Seo wrote: > I tried to build pcc (Portable C Compiler) with tcc, which should be a > good test. > > pcc is available from: > http://pcc.ludd.ltu.se/downloads/ > > $ export CC=/opt/tcc/bin/tcc > $ ./configure --prefix=/opt/pcc > $ make > > This fails with: > > cd cpp; make all -w > make[2]: Entering directory `/home/tinuviel/cvs/pcc/cc/cpp' > bison -y -d cpy.y > /opt/tcc/bin/tcc -I../../arch/i386 -g -DCPP_DEBUG -Wall > -Wmissing-prototypes -Wstrict-prototypes -Werror -c -o cpy.o y.tab.c > /opt/tcc/bin/tcc -I../../arch/i386 -g -DCPP_DEBUG -Wall > -Wmissing-prototypes -Wstrict-prototypes -Werror -c cpp.c > flex scanner.l > /opt/tcc/bin/tcc -I../../arch/i386 -g -DCPP_DEBUG -Wall > -Wmissing-prototypes -Wstrict-prototypes -Werror -c -o scanner.o > lex.yy.c > /opt/tcc/bin/tcc -I../../arch/i386 -g -DCPP_DEBUG -Wall > -Wmissing-prototypes -Wstrict-prototypes -Werror -c -o compat.o > ../../mip/compat.c > /opt/tcc/bin/tcc -g -DCPP_DEBUG -Wall -Wmissing-prototypes > -Wstrict-prototypes -Werror cpp.o cpy.o scanner.o compat.o -o cpp > cpy.o: 'ifiles' defined twice > cpy.o: 'slow' defined twice > scanner.o: 'ifiles' defined twice > scanner.o: 'slow' defined twice > tcc: undefined symbol 'alloca' > > So something is defined twice... Have anyone seen a similar error?
The message about symbols which are defined twice are actually just warnings not errors. The problem here is that tcc can't find alloca. It's builtin function is called _alloca_tcc so you need something like that in /usr/include/alloca.h: --- alloca.h.orig 2007-10-26 22:59:08.000000000 +0200 +++ alloca.h 2007-10-26 23:06:54.000000000 +0200 @@ -34,6 +34,9 @@ #ifdef __GNUC__ # define alloca(size) __builtin_alloca (size) +#elif __TINYC__ + extern void *_alloca_tcc (size_t __size) __THROW; +# define alloca(size) _alloca_tcc (size) #endif /* GCC. */ __END_DECLS The extern line doesn't look right, tcc should probably know about it internally. Anyway it works and pcc can be compiled without a problem. Marc -- Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0 _______________________________________________ Tinycc-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/tinycc-devel
