[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