While trying to compile gcc (HEAD of 2007-08-27) for a sysrooted environment in /tmp/gc where glibc 2.6.1 is already installed there, ld complains: /usr/i686-pc-linux-gnulibc2/lib/gcc-lib/i686-pc-linux-gnulibc2/3.3.3/../../../../i686-pc-linux-gnulibc2/bin/ld: cannot find /tmp/gc/lib/libc.so.6 inside /tmp/gc. The file /tmp/gc/lib/libc.so.6 is perfectly there.
This is what I did exactly: - use linux kernel source 2.6.22.5, configure and make INSTALL_HDR_PATH=/tmp/gc headers_install - configure glibc-2.6.1 with CFLAGS=-march=i486 ../configure --prefix=/tmp/gc \ --disable-nls --enable-add-ons and install - configure gcc (from svn 2007-08-27) with configure --prefix=/tmp/gc --disable-nls --enable-shared \ --with-sysroot=/tmp/gc --enable-languages=c i686-pc-linux-gnulibc2 The version of ld used was 2.17.50.0.18.20070731 from kernel.org. However, in all versions of ld between 2.17 and 2.18.50.20070828 that I looked at, the code mentioned below is the same. The following patch fixes the problem for us: commit 0f7df4f0f32312588d77f3e8dc26193cf8db2d81 Author: Stephan Springl <[EMAIL PROTECTED]> Date: Mon Aug 27 23:43:27 2007 +0200 ld: do not prepend ld_sysroot to absolute paths diff --git a/ld/ldfile.c b/ld/ldfile.c index c9414ff..800c60e 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -308,7 +308,7 @@ ldfile_open_file_search (const char *arch, directory first. */ if (! entry->is_archive) { - if (entry->sysrooted && IS_ABSOLUTE_PATH (entry->filename)) + if (entry->sysrooted && !IS_ABSOLUTE_PATH (entry->filename)) { char *name = concat (ld_sysroot, entry->filename, (const char *) NULL); -- Summary: linker incorrectly prepends sysroot to absolute path Product: binutils Version: 2.18 Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: springl-binutils at bfw-online dot de CC: bug-binutils at gnu dot org GCC build triplet: i686-pc-linux-gnulibc2 GCC host triplet: i686-pc-linux-gnulibc2 GCC target triplet: i686-pc-linux-gnulibc2 http://sourceware.org/bugzilla/show_bug.cgi?id=4966 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils