patches/gcc/2.95.3/170-pr3106.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 23 14:48:10 2008 +0000 (2008-09-23)
changeset 872 fd4bf138f08f
parent 402 197e1b49586e
permissions -rw-r--r--
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(-)
yann@402
     1
See http://gcc.gnu.org/PR3106
yann@402
     2
Backported from gcc-3.0.x
yann@402
     3
yann@402
     4
Fixes error
yann@402
     5
  .../binutils-2.11.2/libiberty/strerror.c:468: error: conflicting types for `sys_nerr'
yann@402
     6
  /usr/include/stdio.h:258: error: previous declaration of `sys_nerr'
yann@402
     7
  make[1]: *** [strerror.o] Error 1
yann@402
     8
  make: *** [all-libiberty] Error 2
yann@402
     9
on Mac OS X.
yann@402
    10
yann@402
    11
--- gcc-2.95.3/libiberty/strerror.c.old	2004-03-24 16:23:19.000000000 -0800
yann@402
    12
+++ gcc-2.95.3/libiberty/strerror.c	2004-03-24 16:23:48.000000000 -0800
yann@402
    13
@@ -13,6 +13,7 @@
yann@402
    14
    incompatible with our later declaration, perhaps by using const
yann@402
    15
    attributes.  So we hide the declaration in errno.h (if any) using a
yann@402
    16
    macro. */
yann@402
    17
+#define sys_nerr sys_nerr__
yann@402
    18
 #define sys_errlist sys_errlist__
yann@402
    19
 #endif
yann@402
    20
 
yann@402
    21
@@ -20,6 +21,7 @@
yann@402
    22
 #include <errno.h>
yann@402
    23
 
yann@402
    24
 #ifdef HAVE_SYS_ERRLIST
yann@402
    25
+#undef sys_nerr
yann@402
    26
 #undef sys_errlist
yann@402
    27
 #endif
yann@402
    28