1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-symbols.patch Tue May 22 20:36:44 2007 +0000
1.3 @@ -0,0 +1,126 @@
1.4 +If I'm really lucky, this fixes the following error building with gcc-4.0.0:
1.5 +
1.6 +../sysdeps/ieee754/dbl-64/s_isinf.c:29: error: 'isinf' aliased to undefined symbol '__isinf'
1.7 +make[2]: *** [/home/dank/queue/jobdir.fast/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/build-glibc/math/s_isinf.os] Error 1
1.8 +make[1]: *** [math/subdir_lib] Error 2
1.9 +make: *** [lib] Error 2
1.10 +
1.11 +---
1.12 +
1.13 +
1.14 +Revision 1.71, Thu Mar 17 21:06:27 2005 UTC (3 weeks, 5 days ago) by roland
1.15 +Branch: MAIN
1.16 +CVS Tags: fedora-glibc-20050405T2114, fedora-glibc-20050401T1444, fedora-glibc-20050324T0715, fedora-glibc-20050319T1907, HEAD
1.17 +Changes since 1.70: +11 -66 lines
1.18 +Diff to previous 1.70 (colored)
1.19 +
1.20 +2005-03-16 Richard Henderson <rth@redhat.com>
1.21 +
1.22 + * include/libc-symbols.h (__hidden_proto): Remove bogus declaration
1.23 + of internal.
1.24 + (__hidden_def1, __hidden_dot_def1): Remove.
1.25 + (__hidden_def2, __hidden_def3): Remove.
1.26 + (__hidden_ver1): New.
1.27 + (hidden_ver, hidden_def, hidden_weak): Use it.
1.28 + (hidden_data_ver, hidden_data_ver, hidden_data_weak): Use non-data
1.29 + version of the macro.
1.30 +
1.31 +http://sourceware.org/cgi-bin/cvsweb.cgi/libc/include/libc-symbols.h.diff?r1=1.70&r2=1.71&cvsroot=glibc
1.32 +
1.33 +===================================================================
1.34 +RCS file: /cvs/glibc/libc/include/libc-symbols.h,v
1.35 +retrieving revision 1.70
1.36 +retrieving revision 1.71
1.37 +diff -u -r1.70 -r1.71
1.38 +--- libc/include/libc-symbols.h 2005/02/11 00:29:46 1.70
1.39 ++++ libc/include/libc-symbols.h 2005/03/17 21:06:27 1.71
1.40 +@@ -583,78 +583,23 @@
1.41 + # define hidden_proto(name, attrs...) \
1.42 + __hidden_proto (name, __GI_##name, ##attrs)
1.43 + # define __hidden_proto(name, internal, attrs...) \
1.44 +- extern __typeof (name) internal; \
1.45 + extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
1.46 + __hidden_proto_hiddenattr (attrs);
1.47 + # define __hidden_asmname(name) \
1.48 + __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
1.49 + # define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
1.50 + # define __hidden_asmname2(prefix, name) #prefix name
1.51 +-# ifdef HAVE_ASM_SET_DIRECTIVE
1.52 +-# define __hidden_def1(original, alias) \
1.53 +- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
1.54 +- .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
1.55 +-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
1.56 +-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
1.57 +- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
1.58 +- .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
1.59 +-# else
1.60 +-# define __hidden_dot_def1(original, alias)
1.61 +-# endif
1.62 +-# else
1.63 +-# define __hidden_def1(original, alias) \
1.64 +- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
1.65 +- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
1.66 +-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
1.67 +-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
1.68 +- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
1.69 +- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
1.70 +-# else
1.71 +-# define __hidden_dot_def1(original, alias)
1.72 +-# endif
1.73 +-# endif
1.74 +-# define __hidden_def2(...) #__VA_ARGS__
1.75 +-# define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
1.76 +-# define hidden_def(name) \
1.77 +- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \
1.78 +- __hidden_dot_def1 (__GI_##name, name)));
1.79 +-# define hidden_data_def(name) \
1.80 +- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
1.81 +-# define hidden_ver(local, name) \
1.82 +- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \
1.83 +- __hidden_dot_def1 (local, __GI_##name)));
1.84 +-# define hidden_data_ver(local, name) \
1.85 +- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
1.86 +-# ifdef HAVE_WEAK_SYMBOLS
1.87 +-# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
1.88 +-# define __hidden_weak1(original, alias) \
1.89 +- .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
1.90 +-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
1.91 +-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
1.92 +- .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
1.93 +-# else
1.94 +-# define __hidden_dot_weak1(original, alias)
1.95 +-# endif
1.96 +-# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
1.97 +-# define __hidden_weak1(original, alias) \
1.98 +- .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
1.99 +- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
1.100 +-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
1.101 +-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
1.102 +- .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
1.103 +- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
1.104 +-# else
1.105 +-# define __hidden_dot_weak1(original, alias)
1.106 +-# endif
1.107 +-# endif
1.108 +-# define hidden_weak(name) \
1.109 +- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \
1.110 +- __hidden_dot_weak1 (__GI_##name, name)));
1.111 +-# define hidden_data_weak(name) \
1.112 +- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
1.113 +-# else
1.114 +-# define hidden_weak(name) hidden_def (name)
1.115 +-# endif
1.116 ++# define __hidden_ver1(local, internal, name) \
1.117 ++ extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
1.118 ++ extern __typeof (name) __EI_##name \
1.119 ++ __attribute__((alias (__hidden_asmname (#local))))
1.120 ++# define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name);
1.121 ++# define hidden_data_ver(local, name) hidden_ver(local, name)
1.122 ++# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
1.123 ++# define hidden_data_def(name) hidden_def(name)
1.124 ++# define hidden_weak(name) \
1.125 ++ __hidden_ver1(__GI_##name, name, name) __attribute__((weak));
1.126 ++# define hidden_data_weak(name) hidden_weak(name)
1.127 + # else
1.128 + /* For assembly, we need to do the opposite of what we do in C:
1.129 + in assembly gcc __REDIRECT stuff is not in place, so functions