source: scripts/patches/glibc-2.3.5-allow-gcc4-symbols.patch@ 42da714

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 42da714 was 7f65c0e, checked in by Jim Gifford <clfs@…>, 19 years ago

r625@server (orig r623): jim | 2005-10-31 12:43:24 -0800
Final Move

  • Property mode set to 100644
File size: 5.7 KB
  • libc/include/libc-symbols.h

    Submitted By: Ryan Oliver <ryan.oliver@pha.com.au>
    Date: 2005-05-03
    Initial Package Version: 2.3.4
    Origin: Dan Kegel's crosstool ( http://kegel.com/crosstool/ )
    Upstream Status: in glibc cvs ( libc/include/libc-symbols.h -r1.71 )
    Description: 
    
    If I'm really lucky, this fixes the following error building with gcc-4.0.0:
    
    ../sysdeps/ieee754/dbl-64/s_isinf.c:29: error: 'isinf' aliased to undefined symbol '__isinf'
    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
    make[1]: *** [math/subdir_lib] Error 2
    make: *** [lib] Error 2
    
    ---
    
    
    Revision 1.71, Thu Mar 17 21:06:27 2005 UTC (3 weeks, 5 days ago) by roland
    Branch: MAIN
    CVS Tags: fedora-glibc-20050405T2114, fedora-glibc-20050401T1444, fedora-glibc-20050324T0715, fedora-glibc-20050319T1907, HEAD
    Changes since 1.70: +11 -66 lines
    Diff to previous 1.70 (colored)
    
    2005-03-16  Richard Henderson  <rth@redhat.com>
    
    	* include/libc-symbols.h (__hidden_proto): Remove bogus declaration
    	of internal.
    	(__hidden_def1, __hidden_dot_def1): Remove.
    	(__hidden_def2, __hidden_def3): Remove.
    	(__hidden_ver1): New.
    	(hidden_ver, hidden_def, hidden_weak): Use it.
    	(hidden_data_ver, hidden_data_ver, hidden_data_weak): Use non-data
    	version of the macro.
    
    http://sourceware.org/cgi-bin/cvsweb.cgi/libc/include/libc-symbols.h.diff?r1=1.70&r2=1.71&cvsroot=glibc
    
    RCS file: /cvs/glibc/libc/include/libc-symbols.h,v
    retrieving revision 1.70
    retrieving revision 1.71
    diff -u -r1.70 -r1.71
     
    583583#  define hidden_proto(name, attrs...) \
    584584  __hidden_proto (name, __GI_##name, ##attrs)
    585585#  define __hidden_proto(name, internal, attrs...) \
    586   extern __typeof (name) internal; \
    587586  extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
    588587  __hidden_proto_hiddenattr (attrs);
    589588#  define __hidden_asmname(name) \
    590589  __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
    591590#  define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
    592591#  define __hidden_asmname2(prefix, name) #prefix name
    593 #  ifdef HAVE_ASM_SET_DIRECTIVE
    594 #   define __hidden_def1(original, alias)                       \
    595   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP       \
    596   .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
    597 #   ifdef HAVE_ASM_GLOBAL_DOT_NAME
    598 #     define __hidden_dot_def1(original, alias)  ASM_LINE_SEP   \
    599   ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP   \
    600   .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
    601 #   else
    602 #     define __hidden_dot_def1(original, alias)
    603 #   endif
    604 #  else
    605 #   define __hidden_def1(original, alias)                       \
    606   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP       \
    607   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
    608 #   ifdef HAVE_ASM_GLOBAL_DOT_NAME
    609 #    define __hidden_dot_def1(original, alias)  ASM_LINE_SEP    \
    610   ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP   \
    611   C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
    612 #   else
    613 #    define __hidden_dot_def1(original, alias)
    614 #   endif
    615 #  endif
    616 #  define __hidden_def2(...) #__VA_ARGS__
    617 #  define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
    618 #  define hidden_def(name)                                      \
    619   __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \
    620   __hidden_dot_def1 (__GI_##name, name)));
    621 #  define hidden_data_def(name)                                 \
    622   __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
    623 #  define hidden_ver(local, name)                               \
    624   __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \
    625   __hidden_dot_def1 (local, __GI_##name)));
    626 #  define hidden_data_ver(local, name)                          \
    627   __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
    628 #  ifdef HAVE_WEAK_SYMBOLS
    629 #   ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
    630 #    define __hidden_weak1(original, alias)                     \
    631   .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
    632 #    ifdef HAVE_ASM_GLOBAL_DOT_NAME
    633 #     define __hidden_dot_weak1(original, alias)        ASM_LINE_SEP    \
    634   .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
    635 #    else
    636 #     define __hidden_dot_weak1(original, alias)
    637 #    endif
    638 #   else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
    639 #    define __hidden_weak1(original, alias)                     \
    640   .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP                      \
    641   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
    642 #    ifdef HAVE_ASM_GLOBAL_DOT_NAME
    643 #     define __hidden_dot_weak1(original, alias)        ASM_LINE_SEP    \
    644   .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP  \
    645   C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
    646 #    else
    647 #     define __hidden_dot_weak1(original, alias)
    648 #    endif
    649 #   endif
    650 #   define hidden_weak(name)                                    \
    651   __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \
    652   __hidden_dot_weak1 (__GI_##name, name)));
    653 #   define hidden_data_weak(name)                                       \
    654   __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
    655 #  else
    656 #   define hidden_weak(name) hidden_def (name)
    657 #  endif
     592#  define __hidden_ver1(local, internal, name) \
     593  extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
     594  extern __typeof (name) __EI_##name \
     595        __attribute__((alias (__hidden_asmname (#local))))
     596#  define hidden_ver(local, name)       __hidden_ver1(local, __GI_##name, name);
     597#  define hidden_data_ver(local, name)  hidden_ver(local, name)
     598#  define hidden_def(name)              __hidden_ver1(__GI_##name, name, name);
     599#  define hidden_data_def(name)         hidden_def(name)
     600#  define hidden_weak(name) \
     601        __hidden_ver1(__GI_##name, name, name) __attribute__((weak));
     602#  define hidden_data_weak(name)        hidden_weak(name)
    658603# else
    659604/* For assembly, we need to do the opposite of what we do in C:
    660605   in assembly gcc __REDIRECT stuff is not in place, so functions
Note: See TracBrowser for help on using the repository browser.