1 If I'm really lucky, this fixes the following error building with gcc-4.0.0:
3 ../sysdeps/ieee754/dbl-64/s_isinf.c:29: error: 'isinf' aliased to undefined symbol '__isinf'
4 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
5 make[1]: *** [math/subdir_lib] Error 2
6 make: *** [lib] Error 2
11 Revision 1.71, Thu Mar 17 21:06:27 2005 UTC (3 weeks, 5 days ago) by roland
13 CVS Tags: fedora-glibc-20050405T2114, fedora-glibc-20050401T1444, fedora-glibc-20050324T0715, fedora-glibc-20050319T1907, HEAD
14 Changes since 1.70: +11 -66 lines
15 Diff to previous 1.70 (colored)
17 2005-03-16 Richard Henderson <rth@redhat.com>
19 * include/libc-symbols.h (__hidden_proto): Remove bogus declaration
21 (__hidden_def1, __hidden_dot_def1): Remove.
22 (__hidden_def2, __hidden_def3): Remove.
24 (hidden_ver, hidden_def, hidden_weak): Use it.
25 (hidden_data_ver, hidden_data_ver, hidden_data_weak): Use non-data
28 http://sourceware.org/cgi-bin/cvsweb.cgi/libc/include/libc-symbols.h.diff?r1=1.70&r2=1.71&cvsroot=glibc
30 ===================================================================
31 RCS file: /cvs/glibc/libc/include/libc-symbols.h,v
32 retrieving revision 1.70
33 retrieving revision 1.71
35 --- libc/include/libc-symbols.h 2005/02/11 00:29:46 1.70
36 +++ libc/include/libc-symbols.h 2005/03/17 21:06:27 1.71
38 # define hidden_proto(name, attrs...) \
39 __hidden_proto (name, __GI_##name, ##attrs)
40 # define __hidden_proto(name, internal, attrs...) \
41 - extern __typeof (name) internal; \
42 extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
43 __hidden_proto_hiddenattr (attrs);
44 # define __hidden_asmname(name) \
45 __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
46 # define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
47 # define __hidden_asmname2(prefix, name) #prefix name
48 -# ifdef HAVE_ASM_SET_DIRECTIVE
49 -# define __hidden_def1(original, alias) \
50 - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
51 - .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
52 -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
53 -# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
54 - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
55 - .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
57 -# define __hidden_dot_def1(original, alias)
60 -# define __hidden_def1(original, alias) \
61 - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
62 - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
63 -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
64 -# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
65 - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
66 - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
68 -# define __hidden_dot_def1(original, alias)
71 -# define __hidden_def2(...) #__VA_ARGS__
72 -# define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
73 -# define hidden_def(name) \
74 - __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \
75 - __hidden_dot_def1 (__GI_##name, name)));
76 -# define hidden_data_def(name) \
77 - __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
78 -# define hidden_ver(local, name) \
79 - __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \
80 - __hidden_dot_def1 (local, __GI_##name)));
81 -# define hidden_data_ver(local, name) \
82 - __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
83 -# ifdef HAVE_WEAK_SYMBOLS
84 -# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
85 -# define __hidden_weak1(original, alias) \
86 - .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
87 -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
88 -# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
89 - .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
91 -# define __hidden_dot_weak1(original, alias)
93 -# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
94 -# define __hidden_weak1(original, alias) \
95 - .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
96 - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
97 -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
98 -# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
99 - .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
100 - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
102 -# define __hidden_dot_weak1(original, alias)
105 -# define hidden_weak(name) \
106 - __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \
107 - __hidden_dot_weak1 (__GI_##name, name)));
108 -# define hidden_data_weak(name) \
109 - __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
111 -# define hidden_weak(name) hidden_def (name)
113 +# define __hidden_ver1(local, internal, name) \
114 + extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
115 + extern __typeof (name) __EI_##name \
116 + __attribute__((alias (__hidden_asmname (#local))))
117 +# define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name);
118 +# define hidden_data_ver(local, name) hidden_ver(local, name)
119 +# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
120 +# define hidden_data_def(name) hidden_def(name)
121 +# define hidden_weak(name) \
122 + __hidden_ver1(__GI_##name, name, name) __attribute__((weak));
123 +# define hidden_data_weak(name) hidden_weak(name)
125 /* For assembly, we need to do the opposite of what we do in C:
126 in assembly gcc __REDIRECT stuff is not in place, so functions