19.5.2011 7:48, Klaus Rudolph kirjoitti:
Marc Glisse wrote:
If you keep only the system ld (don't install your own) and compile a new
gcc, does it work?
Without building own binutils it works.
Yes, the 'ld -> ld.bfd' in Ubuntu 11.04 seems to be patched to search
from more places than the usual '/lib*' and '/usr/lib*'. Using the
command :
ld -verbose | less
will show the built-in search directories and linker script...
Using system ld instead of system gcc is changing nothing, or?
The difference is whether gcc passes different options to ld or ld was
compiled with different options (or patches). If you insist on compiling
your own, the first thing to do would be to check how the ubuntu versions
were compiled.
There is already a bug report for this item:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/738098
In hope the changes for ubuntu could shared with standard binutils or a bugfix for ubuntu will arise.
I will begin with building without own binutils
This whole issue is one-eyed and forgets cross-compiling completely,
with this one as default will :
- use the original Ubuntu 11.04 glibc etc C libraries in their native
install scheme in a $sysroot
- produce GNU binutils from sources, usually from the Linux ones at
ftp.kernel.org
- produce GCC from sources, usually from the FSF ones
I wouldn't expect the '--with-sysroot=' changing the default search
paths in 'ld' in the 'i686-ubuntu-linux-gnu' case in any way although
it seems that Ubuntu isn't any normal/standard Linux at all but tries
to be a custom one with customized install paths for its C libraries.
Nothing however disables one to normalize the install directories in
the $sysroot to follow the expected Linux standards...