Magellan Linux

Annotation of /trunk/glibc/patches/glibc-2.3.5-gcc4_fix_symbols-1.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (hide annotations) (download)
Tue May 8 20:06:05 2007 UTC (17 years ago) by niro
File size: 4803 byte(s)
-import

1 niro 144 Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
2     Date: 2005-07-15
3     Initial Package Version: 2.3.5
4     Upstream Status: From Upstream (libc/include/libc-symbols.h -r1.71)
5     Origin: Ryan Oliver, courtesy of Dan Kegel's crosstool
6     (http://kegel.com/crosstool/)
7     Description: Fixes a compilation problem with gcc-4.0.x that results in:
8     ../sysdeps/ieee754/dbl-64/s_isinf.c:29: error: 'isinf' aliased to
9     undefined symbol '__isinf'
10    
11     diff -Naur glibc-2.3.5.orig/include/libc-symbols.h glibc-2.3.5/include/libc-symbols.h
12     --- glibc-2.3.5.orig/include/libc-symbols.h 2004-10-24 21:17:08.000000000 +0000
13     +++ glibc-2.3.5/include/libc-symbols.h 2005-07-15 17:31:10.854233888 +0000
14     @@ -582,78 +582,23 @@
15     # define hidden_proto(name, attrs...) \
16     __hidden_proto (name, __GI_##name, ##attrs)
17     # define __hidden_proto(name, internal, attrs...) \
18     - extern __typeof (name) internal; \
19     extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
20     __hidden_proto_hiddenattr (attrs);
21     # define __hidden_asmname(name) \
22     __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
23     # define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
24     # define __hidden_asmname2(prefix, name) #prefix name
25     -# ifdef HAVE_ASM_SET_DIRECTIVE
26     -# define __hidden_def1(original, alias) \
27     - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
28     - .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
29     -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
30     -# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
31     - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
32     - .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
33     -# else
34     -# define __hidden_dot_def1(original, alias)
35     -# endif
36     -# else
37     -# define __hidden_def1(original, alias) \
38     - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
39     - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
40     -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
41     -# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
42     - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
43     - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
44     -# else
45     -# define __hidden_dot_def1(original, alias)
46     -# endif
47     -# endif
48     -# define __hidden_def2(...) #__VA_ARGS__
49     -# define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
50     -# define hidden_def(name) \
51     - __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \
52     - __hidden_dot_def1 (__GI_##name, name)));
53     -# define hidden_data_def(name) \
54     - __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
55     -# define hidden_ver(local, name) \
56     - __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \
57     - __hidden_dot_def1 (local, __GI_##name)));
58     -# define hidden_data_ver(local, name) \
59     - __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
60     -# ifdef HAVE_WEAK_SYMBOLS
61     -# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
62     -# define __hidden_weak1(original, alias) \
63     - .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
64     -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
65     -# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
66     - .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
67     -# else
68     -# define __hidden_dot_weak1(original, alias)
69     -# endif
70     -# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
71     -# define __hidden_weak1(original, alias) \
72     - .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
73     - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
74     -# ifdef HAVE_ASM_GLOBAL_DOT_NAME
75     -# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
76     - .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
77     - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
78     -# else
79     -# define __hidden_dot_weak1(original, alias)
80     -# endif
81     -# endif
82     -# define hidden_weak(name) \
83     - __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \
84     - __hidden_dot_weak1 (__GI_##name, name)));
85     -# define hidden_data_weak(name) \
86     - __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
87     -# else
88     -# define hidden_weak(name) hidden_def (name)
89     -# endif
90     +# define __hidden_ver1(local, internal, name) \
91     + extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
92     + extern __typeof (name) __EI_##name \
93     + __attribute__((alias (__hidden_asmname (#local))))
94     +# define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name);
95     +# define hidden_data_ver(local, name) hidden_ver(local, name)
96     +# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
97     +# define hidden_data_def(name) hidden_def(name)
98     +# define hidden_weak(name) \
99     + __hidden_ver1(__GI_##name, name, name) __attribute__((weak));
100     +# define hidden_data_weak(name) hidden_weak(name)
101     # else
102     /* For assembly, we need to do the opposite of what we do in C:
103     in assembly gcc __REDIRECT stuff is not in place, so functions