This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: multiarch proposal
- From: Goswin von Brederlow <goswin-v-b at web dot de>
- To: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- Cc: goswin-v-b at web dot de (Goswin von Brederlow), paul at codesourcery dot com (Paul Brook), binutils at sourceware dot org
- Date: Sun, 04 May 2008 18:43:12 +0200
- Subject: Re: multiarch proposal
- References: <200805032247.m43MlCoE013537@d12av02.megacenter.de.ibm.com>
"Ulrich Weigand" <uweigand@de.ibm.com> writes:
> Goswin von Brederlow wrote:
>
>> For reference: gcc on amd64 uses
>>
>> /usr/bin/ld --eh-frame-hdr -m elf_x86_64 --hash-style=both -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o foo /usr/lib64/crt1.o /usr/lib64/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.2.3/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3 -L/usr/lib64 -L/lib64 -L/usr/lib64 -L/usr/x86_64-linux-gnu/lib -L/usr/lib foo.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.2.3/crtend.o /usr/lib64/crtn.o
>>
>> /usr/bin/ld --eh-frame-hdr -m elf_i386 --hash-style=both -dynamic-linker /lib/ld-linux.so.2 -o foo /usr/lib32/crt1.o /usr/lib32/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.2.3/32/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/32 -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/32 -L/usr/lib32 -L/lib32 -L/usr/lib32 -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3 -L/usr/x86_64-linux-gnu/lib -L/usr/lib foo.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.2.3/32/crtend.o /usr/lib32/crtn.o
>>
>> Note that is searching [/usr]/lib32 correctly but
>> /usr/x86_64-linux-gnu/lib instead of /usr/i486-linux-gnu/lib as it
>> should be.
>>
>> So gcc needs some work as well.
>
> You may not like the way GCC implements its own multilibs,
> but it certainly *works*. Note the difference between:
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/32
>
> The latter directory contains the multilibs for GCC-provided
> libraries when using -m32 on a x86_64-linux-gnu GCC.
>
> This is in turn with the scheme GCC has always used for
> multilibs required with ABI-changing compiler options
> (even for the same target triple).
>
> Bye,
> Ulrich
Which is totaly besides the point. What gcc does internally for its
own files is gcc's business.
The important part is the systems directories it includes. There is
includes the cross-compile directory and the wrong one at that.
But anyway, enough about gcc. That is off topic for binutils.
MfG
Goswin