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/elf32-mips.c binutils-2.17/bfd/elf32-mips.c
2 --- binutils-2.17.old/bfd/elf32-mips.c 2006-03-22 10:28:13.000000000 +0100
3 +++ binutils-2.17/bfd/elf32-mips.c 2007-05-01 18:26:15.000000000 +0200
6 /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
7 page sizes of up to that limit, so we need to respect it. */
8 -#define ELF_MAXPAGESIZE 0x10000
9 +/*#define ELF_MAXPAGESIZE 0x10000*/
10 +/* Use 4K to shrink the elf header. NOT for general use! */
11 +#define ELF_MAXPAGESIZE 0x1000
12 #define elf32_bed elf32_tradbed
14 /* Include the target file again for this target. */
15 diff -dur binutils-2.17.old/bfd/elfn32-mips.c binutils-2.17/bfd/elfn32-mips.c
16 --- binutils-2.17.old/bfd/elfn32-mips.c 2005-11-23 15:04:17.000000000 +0100
17 +++ binutils-2.17/bfd/elfn32-mips.c 2007-05-01 18:26:15.000000000 +0200
20 /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
21 page sizes of up to that limit, so we need to respect it. */
22 -#define ELF_MAXPAGESIZE 0x10000
23 +/*#define ELF_MAXPAGESIZE 0x10000*/
24 +/* Use 4K to shrink the elf header. NOT for general use! */
25 +#define ELF_MAXPAGESIZE 0x1000
26 #define elf32_bed elf32_tradbed
28 /* Include the target file again for this target. */