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