patches/gcc/3.2.3/160-gcc-3.2.3-trap-posix.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Apr 26 21:31:05 2008 +0000 (2008-04-26)
changeset 454 372b2f397baa
permissions -rw-r--r--
Configure tsocks with a simple heuristic.

Consider the proxy has to be in a 'local' network. It means it is directly
reachable by the local machine, even if the local machine has to hop through
one or more gates to reach the proxy (often the case in enterprise networks
where class A 10.0.0.0/8 is in fact sub-divided into smaller networks, each
one of them in a different location, eg. 10.1.0.0/16 in a place, while
10.2.0.0/16 would be on the other side of the world). Not being in the same
subnet does not mean the proxy is not available.

So we will build a mask with at most high bits set, which defines a network
that has both the local machine and the proxy. Because a machine may have
more than one interface, build a mask for each of them, removing 127.0.0.1
which is added automagically by tsocks, and removing duplicate masks.

If all of this does not work, then it means the local machine can NOT in fact
reach the proxy, which in turn means the user mis-configured something (most
probably a typo...).

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