patches/glibc/2.1.3/rh62-99-glibc-2.1.3-allow-gcc-3.4-gconv_stubs.patch
changeset 301 2be7232a73ac
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.1.3/rh62-99-glibc-2.1.3-allow-gcc-3.4-gconv_stubs.patch	Sat Jul 28 21:34:41 2007 +0000
     1.3 @@ -0,0 +1,44 @@
     1.4 +"Fixes" gcc-3.4.0 errors:
     1.5 +gconv_stubs.c:49: error: conflicting types for '__gconv_close_transform'
     1.6 +../iconv/gconv_int.h:131: error: previous declaration of '__gconv_close_transform' was here
     1.7 +gconv_stubs.c:49: error: conflicting types for '__gconv_close_transform'
     1.8 +../iconv/gconv_int.h:131: error: previous declaration of '__gconv_close_transform' was here
     1.9 +gconv_stubs.c:52: error: conflicting types for '__gconv'
    1.10 +../iconv/gconv_int.h:112: error: previous declaration of '__gconv' was here
    1.11 +gconv_stubs.c:52: error: conflicting types for '__gconv'
    1.12 +../iconv/gconv_int.h:112: error: previous declaration of '__gconv' was here
    1.13 +gconv_stubs.c:54: error: conflicting types for '__gconv_find_transform'
    1.14 +../iconv/gconv_int.h:119: error: previous declaration of '__gconv_find_transform' was here
    1.15 +gconv_stubs.c:54: error: conflicting types for '__gconv_find_transform'
    1.16 +../iconv/gconv_int.h:119: error: previous declaration of '__gconv_find_transform' was here
    1.17 +gconv_stubs.c:56: error: conflicting types for '__gconv_open'
    1.18 +../iconv/gconv_int.h:99: error: previous declaration of '__gconv_open' was here
    1.19 +gconv_stubs.c:56: error: conflicting types for '__gconv_open'
    1.20 +../iconv/gconv_int.h:99: error: previous declaration of '__gconv_open' was here
    1.21 +make[2]: *** [/home/dank/wk/crosstool-0.28-rc4h/build/i686-unknown-linux-gnu/gcc-3.4.0-20040406-glibc-2.1.3/build-glibc/c_stubs/gconv_stubs.o] Error 1
    1.22 +make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc4h/build/i686-unknown-linux-gnu/gcc-3.4.0-20040406-glibc-2.1.3/glibc-2.1.3/c_stubs'
    1.23 +
    1.24 +although the right thing would probably be to declare the 
    1.25 +stubs to have the right attributes.
    1.26 +
    1.27 +--- glibc-2.1.3/c_stubs/gconv_stubs.c.old	Sun Apr 11 20:25:09 2004
    1.28 ++++ glibc-2.1.3/c_stubs/gconv_stubs.c	Sun Apr 11 20:29:35 2004
    1.29 +@@ -18,7 +18,18 @@
    1.30 +    Boston, MA 02111-1307, USA.  */
    1.31 + 
    1.32 + #include <features.h>
    1.33 ++
    1.34 ++/* strange hack workaround for gcc-3.4.0.  Might be a better way. */
    1.35 ++#define __gconv_close_transform foo__gconv_close_transform
    1.36 ++#define __gconv foo__gconv
    1.37 ++#define __gconv_find_transform foo__gconv_find_transform
    1.38 ++#define __gconv_open foo__gconv_open
    1.39 ++
    1.40 + #include <gconv_int.h>
    1.41 ++#undef __gconv_close_transform
    1.42 ++#undef __gconv
    1.43 ++#undef __gconv_find_transform
    1.44 ++#undef __gconv_open
    1.45 + 
    1.46 + /* hack for self identification */
    1.47 + int __c_stubs_is_compiled_in;