patches/gcc/3.2.3/160-trap-posix.patch
author Zoltan Devai <zdevai@gmail.com>
Wed Oct 28 12:03:38 2009 +0100 (2009-10-28)
changeset 1602 1ba79f2126df
parent 402 197e1b49586e
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.
     1 # 
     2 # Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
     3 #
     4 # Error:
     5 #
     6 # creating libintl.h
     7 # Configuring etc...
     8 # loading cache ../config.cache
     9 # checking for a BSD compatible install... (cached) /usr/bin/install -c
    10 # creating ./config.status
    11 # creating Makefile
    12 # trap: usage: trap [-lp] [[arg] signal_spec ...]
    13 #
    14 # Description:
    15 #
    16 # non-posix conform usage of trap causes bash >= 3.0 to fail
    17 #
    18 # e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
    19 #
    20 # Status:
    21 #
    22 # fixed in gcc >= 3.3.5
    23 # backport of gcc-3.3.5 fix
    24 #
    25 diff -ruN gcc-3.2.3-orig/configure gcc-3.2.3/configure
    26 --- gcc-3.2.3-orig/configure	2002-06-24 18:14:28.000000000 +0200
    27 +++ gcc-3.2.3/configure	2005-04-20 18:42:49.000000000 +0200
    28 @@ -697,7 +697,7 @@
    29  if test -f skip-this-dir; then
    30  	# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
    31  	# and reset the trap handler.
    32 -	trap 0
    33 +	trap '' 0
    34  	rm -rf Makefile* ${tmpdir}
    35  	# Execute the final clean-up actions
    36  	${config_shell} skip-this-dir
    37 @@ -1615,7 +1615,7 @@
    38  # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
    39  # and reset the trap handler.
    40  rm -rf ${tmpdir}
    41 -trap 0
    42 +trap '' 0
    43  
    44  exit 0
    45