patches/gcc/4.2.2/306-libstdc++-namespace.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
parent 313 2f223aafc7cb
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@313
     1
diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h
yann@313
     2
--- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h	2007-08-03 20:31:54.000000000 +0200
yann@313
     3
+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h	2007-08-03 20:35:40.000000000 +0200
yann@313
     4
@@ -32,7 +32,8 @@
yann@313
     5
 //
yann@313
     6
 
yann@313
     7
 // Written by Benjamin Kosnik <bkoz@redhat.com>
yann@313
     8
-
yann@313
     9
+namespace std
yann@313
    10
+{
yann@313
    11
 #ifdef __UCLIBC_MJN3_ONLY__
yann@313
    12
 #warning fix prototypes for *textdomain funcs
yann@313
    13
 #endif
yann@313
    14
@@ -115,3 +116,4 @@
yann@313
    15
 	   this->_S_create_c_locale(this->_M_c_locale_messages, __s); 
yann@313
    16
 	 }
yann@313
    17
      }
yann@313
    18
+}
yann@313
    19
diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h
yann@313
    20
--- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h	2007-08-03 20:31:54.000000000 +0200
yann@313
    21
+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h	2007-08-03 20:35:40.000000000 +0200
yann@313
    22
@@ -33,7 +33,8 @@
yann@313
    23
 //
yann@313
    24
 
yann@313
    25
 // Written by Benjamin Kosnik <bkoz@redhat.com>
yann@313
    26
-
yann@313
    27
+namespace std
yann@313
    28
+{
yann@313
    29
   template<typename _CharT>
yann@313
    30
     __timepunct<_CharT>::__timepunct(size_t __refs) 
yann@313
    31
     : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL), 
yann@313
    32
@@ -74,3 +75,4 @@
yann@313
    33
       delete _M_data; 
yann@313
    34
       _S_destroy_c_locale(_M_c_locale_timepunct); 
yann@313
    35
     }
yann@313
    36
+}