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 Original patch from http://gmplib.org/patches/mpf_set_str.c.diff
2 Re-diffed to match crosstool-NG conventions.
4 diff -dur gmp-4.2.2.orig/mpf/set_str.c gmp-4.2.2/mpf/set_str.c
5 --- gmp-4.2.2.orig/mpf/set_str.c 2007-08-30 20:31:40.000000000 +0200
6 +++ gmp-4.2.2/mpf/set_str.c 2008-01-28 23:05:29.000000000 +0100
11 - /* FIXME: Should do some error checking here. */
12 - exp_in_base = strtol (expptr, (char **) 0, exp_base);
14 + /* Scan and convert the exponent, in base exp_base. */
15 + long dig, neg = -(long) ('-' == expptr[0]);
16 + expptr -= neg; /* conditional increment */
17 + c = (unsigned char) *expptr++;
18 + dig = digit_value[c];
19 + if (dig >= exp_base)
25 + c = (unsigned char) *expptr++;
26 + dig = digit_value[c];
27 + while (dig < exp_base)
29 + exp_in_base = exp_in_base * exp_base;
31 + c = (unsigned char) *expptr++;
32 + dig = digit_value[c];
34 + exp_in_base = (exp_in_base ^ neg) - neg; /* conditional negation */