Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.
/trunk/scripts/build/libc/glibc.sh | 14 2 12 0 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
1 diff -dur binutils-2.17.old/ld/Makefile.am binutils-2.17/ld/Makefile.am
2 --- binutils-2.17.old/ld/Makefile.am 2006-06-03 06:45:50.000000000 +0200
3 +++ binutils-2.17/ld/Makefile.am 2007-05-01 18:26:09.000000000 +0200
5 # We put the scripts in the directory $(scriptdir)/ldscripts.
6 # We can't put the scripts in $(datadir) because the SEARCH_DIR
7 # directives need to be different for native and cross linkers.
8 -scriptdir = $(tooldir)/lib
12 EMULATION_OFILES = @EMULATION_OFILES@
13 diff -dur binutils-2.17.old/ld/Makefile.in binutils-2.17/ld/Makefile.in
14 --- binutils-2.17.old/ld/Makefile.in 2006-06-03 06:45:50.000000000 +0200
15 +++ binutils-2.17/ld/Makefile.in 2007-05-01 18:26:09.000000000 +0200
17 # We put the scripts in the directory $(scriptdir)/ldscripts.
18 # We can't put the scripts in $(datadir) because the SEARCH_DIR
19 # directives need to be different for native and cross linkers.
20 -scriptdir = $(tooldir)/lib
21 +scriptdir = $(libdir)
22 BASEDIR = $(srcdir)/..
23 BFDDIR = $(BASEDIR)/bfd
24 INCDIR = $(BASEDIR)/include