source:
patches/glibc-2.3.5-allow-gcc4-symbols.patch@
f5aa871
Last change on this file since f5aa871 was 617118d, checked in by , 19 years ago | |
---|---|
|
|
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
583 583 # define hidden_proto(name, attrs...) \ 584 584 __hidden_proto (name, __GI_##name, ##attrs) 585 585 # define __hidden_proto(name, internal, attrs...) \ 586 extern __typeof (name) internal; \587 586 extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \ 588 587 __hidden_proto_hiddenattr (attrs); 589 588 # define __hidden_asmname(name) \ 590 589 __hidden_asmname1 (__USER_LABEL_PREFIX__, name) 591 590 # define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name) 592 591 # 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) 658 603 # else 659 604 /* For assembly, we need to do the opposite of what we do in C: 660 605 in assembly gcc __REDIRECT stuff is not in place, so functions
Note:
See TracBrowser
for help on using the repository browser.