patches/binutils/2.17/180-psignal.patch
author Zoltan Devai <zdevai@gmail.com>
Wed Oct 28 12:03:38 2009 +0100 (2009-10-28)
branch1.5
changeset 1645 01d01185eb18
parent 745 e445c00d134d
permissions -rw-r--r--
libc/uClibc: fix building on system with recent glibc

While trying to build a toolchain with ct-ng 1.5.0,
arm-unknown-linux-uclibcgnueabi target,
I get the following error:

[INFO ] Installing C library headers
[EXTRA] Copying sources to build dir
[EXTRA] Applying configuration
[EXTRA] Building headers
[EXTRA] Installing headers
[ERROR] extra/scripts/unifdef.c:209: error: conflicting types for 'getline'
[ERROR] make[2]: *** [extra/scripts/unifdef] Error 1
[ERROR] Build failed in step 'Installing C library headers'

The following patch solves the problem.
(It's a backport of this uClibc commit:
http://git.uclibc.org/uClibc/commit/?id=49e81cada73616864b9b31df0aeb6961c30f5a6e
)

[--SNIP from another mail--]
AFAIK this is a problem since glibc 2.10.
(transplanted from 1ba79f2126df8bd89120899a58f2d0bcc2e9c771)
     1 Make psignal prototype in libiberty match that in glibc.
     2 
     3 Fixes:
     4 
     5 gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c: In function `psignal':
     6 gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c:563: argument `signo' doesn't match prototype
     7 /usr/include/signal.h:131: prototype declaration
     8 gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c:563: argument `message' doesn't match prototype
     9 /usr/include/signal.h:131: prototype declaration
    10 gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c:568: warning: comparison between signed and unsigned
    11 mprotect... make[1]: *** [strsignal.o] Error 1
    12 make[1]: Leaving directory `/export/hda3/dkegel/queue/jobdir.produser_cpsm17/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.1.3/build-binutils/libiberty'
    13 make: *** [all-libiberty] Error 2
    14 
    15 when building on red hat 7.1
    16 though it's a bit of a mystery why libiberty's psignal is being compiled at
    17 all, since red hat 7.1's glibc supports psignal (hence the error message)
    18 
    19 --- binutils-2.17/libiberty/strsignal.c.old	2005-04-18 13:57:40.000000000 -0700
    20 +++ binutils-2.17/libiberty/strsignal.c	2005-04-18 13:59:09.000000000 -0700
    21 @@ -536,7 +536,7 @@
    22  
    23  /*
    24  
    25 -@deftypefn Supplemental void psignal (unsigned @var{signo}, char *@var{message})
    26 +@deftypefn Supplemental void psignal (int @var{signo}, const char *@var{message})
    27  
    28  Print @var{message} to the standard error, followed by a colon,
    29  followed by the description of the signal specified by @var{signo},