tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] regressions on i386


From: Thomas Preud'homme
Subject: Re: [Tinycc-devel] regressions on i386
Date: Wed, 11 Mar 2015 19:27:54 +0800
User-agent: K-9 Mail for Android

On March 6, 2015 3:46:46 AM GMT+08:00, Edmund Grimley Evans <address@hidden> 
wrote:
> 
> Then commit 76af94862352a3f1d26249d9ea6f795d107c1d7f broke building:
> 
> ../tcc -B.. -c libtcc1.c -o i386/libtcc1.o -I..  -Wall -g -O2
> -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare
> -Wno-unused-result -fPIC -DTCC_TARGET_I386
> In file included from libtcc1.c:31:
> In file included from /usr/include/stdint.h:26:
> /usr/include/features.h:323: error: include file 'bits/predefs.h' not
> found
> make[1]: *** [i386/libtcc1.o] Error 1
> make[1]: Leaving directory `/tmp/tt/lib'
> 
> 
> I believe it's also now broken on Debian arm64 and Ubuntu x86_64. Does
> it work for anyone?

I have the same problem. I tracked it down to lines 92-112 [1].

The problem comes from adding the _LINK variable containing the arch-qualified 
symlink to the native compiler into PROGS. This causes these symlink files to 
be interpreted as target to be built and they then match the pattern for 
cross-compilers. Since these does not use multiarch by default, the build fails 
when trying to use them to compile libtcc1.

Even on non-multiarch systems this approach is wrong as it would leads to 2 
builds if I'm correct. The right approach is to extend the recipe for building 
native compiler in the same way as cross-compiler with an extra symlink step.

[1] 
http://repo.or.cz/w/tinycc.git/blob/5de8b5638f3d0bca6723d5d63d9e22a7f04fff6c:/Makefile#l92
 

Seiko, can you fix this along those lines?

Best regards,

Tom




reply via email to

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