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/bfd/configure binutils-2.17/bfd/configure
2 --- binutils-2.17.old/bfd/configure 2006-06-23 20:17:03.000000000 +0200
3 +++ binutils-2.17/bfd/configure 2007-05-01 18:26:03.000000000 +0200
7 # This must be Linux ELF.
9 +linux-gnu*|linux-uclibc*)
10 lt_cv_deplibs_check_method=pass_all
13 diff -dur binutils-2.17.old/binutils/configure binutils-2.17/binutils/configure
14 --- binutils-2.17.old/binutils/configure 2006-04-06 23:49:29.000000000 +0200
15 +++ binutils-2.17/binutils/configure 2007-05-01 18:26:03.000000000 +0200
19 # This must be Linux ELF.
21 +linux-gnu*|linux-uclibc*)
22 lt_cv_deplibs_check_method=pass_all
25 diff -dur binutils-2.17.old/configure binutils-2.17/configure
26 --- binutils-2.17.old/configure 2006-04-06 23:49:25.000000000 +0200
27 +++ binutils-2.17/configure 2007-05-01 18:26:03.000000000 +0200
30 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
34 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
36 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
39 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
44 i[3456789]86-*-vsta) ;; # don't add gprof back in
45 i[3456789]86-*-go32*) ;; # don't add gprof back in
46 diff -dur binutils-2.17.old/configure.in binutils-2.17/configure.in
47 --- binutils-2.17.old/configure.in 2006-06-23 20:19:53.000000000 +0200
48 +++ binutils-2.17/configure.in 2007-05-01 18:26:03.000000000 +0200
51 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
55 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
57 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
60 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
65 i[[3456789]]86-*-vsta) ;; # don't add gprof back in
66 i[[3456789]]86-*-go32*) ;; # don't add gprof back in
67 diff -dur binutils-2.17.old/gas/configure binutils-2.17/gas/configure
68 --- binutils-2.17.old/gas/configure 2006-04-06 23:49:31.000000000 +0200
69 +++ binutils-2.17/gas/configure 2007-05-01 18:26:03.000000000 +0200
73 # This must be Linux ELF.
75 +linux-gnu*|linux-uclibc*)
76 lt_cv_deplibs_check_method=pass_all
79 diff -dur binutils-2.17.old/gprof/configure binutils-2.17/gprof/configure
80 --- binutils-2.17.old/gprof/configure 2006-04-06 23:49:33.000000000 +0200
81 +++ binutils-2.17/gprof/configure 2007-05-01 18:26:03.000000000 +0200
82 @@ -3414,6 +3414,11 @@
83 lt_cv_deplibs_check_method=pass_all
87 + lt_cv_deplibs_check_method=pass_all
88 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
91 netbsd* | knetbsd*-gnu)
92 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
93 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
94 diff -dur binutils-2.17.old/ld/configure binutils-2.17/ld/configure
95 --- binutils-2.17.old/ld/configure 2006-04-11 12:36:26.000000000 +0200
96 +++ binutils-2.17/ld/configure 2007-05-01 18:26:03.000000000 +0200
100 # This must be Linux ELF.
102 +linux-gnu*|linux-uclibc*)
103 lt_cv_deplibs_check_method=pass_all
106 diff -dur binutils-2.17.old/libtool.m4 binutils-2.17/libtool.m4
107 --- binutils-2.17.old/libtool.m4 2005-12-27 17:37:57.000000000 +0100
108 +++ binutils-2.17/libtool.m4 2007-05-01 18:26:03.000000000 +0200
112 # This must be Linux ELF.
114 +linux-gnu*|linux-uclibc*)
115 lt_cv_deplibs_check_method=pass_all
118 diff -dur binutils-2.17.old/ltconfig binutils-2.17/ltconfig
119 --- binutils-2.17.old/ltconfig 2005-07-16 04:36:38.000000000 +0200
120 +++ binutils-2.17/ltconfig 2007-05-01 18:26:03.000000000 +0200
123 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
127 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
129 @@ -1247,7 +1248,7 @@
132 # This must be Linux ELF.
134 +linux-gnu*|linux-uclibc*)
138 diff -dur binutils-2.17.old/opcodes/configure binutils-2.17/opcodes/configure
139 --- binutils-2.17.old/opcodes/configure 2006-02-17 15:36:28.000000000 +0100
140 +++ binutils-2.17/opcodes/configure 2007-05-01 18:26:03.000000000 +0200
141 @@ -3579,7 +3579,7 @@
144 # This must be Linux ELF.
146 +linux-gnu*|linux-uclibc*)
147 lt_cv_deplibs_check_method=pass_all