This is the mail archive of the mailing list for the crossgcc project.

See crosstool-NG for lots more information.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Multilib error with x86_64


I have decided to hand-build the tool chain. I believe i am successful
after some retrials. Of course this wouldn't have been possible
without the beautiful CT-NG tool. I would like to point out couple of
issues from the CT-NG side that I faced.

1. While building glibc for 32 bit hosts on 64 bit CPU, to resolve the
"TLS required" problem, we need to pass -march=i686  as part of
CFLAGS. Also the --host macro should be set to reflect the 32 bit
environment (like i686-unknown-linux-gnu).

2. Both in sysroot and in sysroot/usr/ directories, the lib32 and
lib64 are sym-linked to lib directory. This needs to be modified so
that lib32 is a symlink to lib/32. this has to be done in both places.

3. This may not be an issue with CT-NG, but I will spell out any way.
The --prefix being used for binutils and the gcc must be same, at
least in recent versions of the gcc / binutils.  The binutils uses
release-area prefix, but the pass-1 and pass-2 configure scripts
specify the sysroot area.

4. this is a package specific issue. cloog-ppl is no longer there for
newer GCC. For compiling gcc, the configure script needs to be passed
--enable-cloog-backend=isl as option.

Please let me know if these are real issues or my creations :).

I faced other issues, but i believe they are largely my creations
and/or the specific package bugs.

FWIW, my package combination is -

binutils - 2.23
cloog - 0.16.3
gcc - 4.6.3
glibc- 2.16.0
gmp - 5.0.5
linux -
mpc -1.0.1
mpfr - 3.1.1
ppl - 0.12.1


On Tue, Aug 27, 2013 at 12:03 AM, Bandaru Viswanath
<> wrote:
> HI,
> Just wanted to add that the latest version from mercurial also gives
> the same error/output.
> Thanks
> vissu
> On Mon, Aug 26, 2013 at 10:47 PM, Bandaru Viswanath
> <> wrote:
>> Friends,
>> I have been trying CT-NG (1.18.0) to build a 64-bit and 32-bit capable
>> toolchain. used the x86_64-unknown-linux-gnu sample, and enabled the
>> multilib option in there. My host is a x86_64 host. the ct-ng build
>> threw an error during "Installing C library headers & start files"
>> phase.
>> Installing C library headers & start files
>> [EXTRA]    Configuring C library
>> [EXTRA]    Installing C library headers
>> [EXTRA]    Installing C library start files
>> [INFO ]    =================================================================
>> [INFO ]    Building for multilib subdir='32'
>> [EXTRA]      Configuring C library
>> [EXTRA]      Installing C library start files
>> [ERROR]      nptl/sysdeps/x86_64/tls.h:69:3: error: #error "TLS
>> support is required."
>> ..... more errors like this and like
>> <stdin>:11: error: 'REG_RBP' undeclared (first use in this function)
>> [ERROR]      <stdin>:11: error: (Each undeclared identifier is
>> reported only once
>> Could you please let me know if I made any mistake somewhere ?
>> Enabling multilib is the only change i made to the sample.  I have
>> tried few other combinations -
>> 1. unchanged x86_64-unknown-linux-gnu works fine.
>> 2. selecting eglibc instead of glibc and with multilib fails.
>> 3. the x86_64-unknown-linux-uclibc sample, with multilib fails too.
>> The failures in 2 & 3 are different from the one I mentioned above.
>> Could you please let me know if I made any mistake somewhere or how to
>> get the multilib working fine ?
>> Thanks
>> vissu

For unsubscribe information see

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]