This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] PLT reducation, take 3


Hi!

This should give the savings with gcc 3.3
and 3.2+visibility+visibility&&asm fix while allowing glibc to build
with earlier compilers.

2002-08-03  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h: Optimize if HAVE_BROKEN_ALIAS_ATTRIBUTE is
	not defined.

--- libc/include/libc-symbols.h.jj	2002-08-03 11:09:26.000000000 +0200
+++ libc/include/libc-symbols.h	2002-08-03 14:23:58.000000000 +0200
@@ -441,18 +441,14 @@
    libc_hidden_ver (__real_foo, foo)  */
 
 #if defined SHARED && defined DO_VERSIONING \
-    && defined HAVE_BROKEN_ALIAS_ATTRIBUTE
+    && !defined HAVE_BROKEN_ALIAS_ATTRIBUTE
 # ifndef __ASSEMBLER__
 #  ifdef HAVE_BROKEN_VISIBILITY_ATTRIBUTE
 #   define __hidden_proto_hiddenattr
 #  else
 #   define __hidden_proto_hiddenattr attribute_hidden
 #  endif
-#  ifndef HAVE_BROKEN_ALIAS_ATTRIBUTE
-#   define hidden_proto(name) __hidden_proto (name, __GI_##name)
-#  else
-#   define hidden_proto(name)
-#  endif
+#  define hidden_proto(name) __hidden_proto (name, __GI_##name)
 #  define __hidden_proto(name, internal) \
   __typeof (name) internal; \
   __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
@@ -525,7 +521,7 @@
 # define hidden_ver(local, name)
 #endif
 
-#if !defined NOT_IN_libc && !defined HAVE_BROKEN_ALIAS_ATTRIBUTE
+#if !defined NOT_IN_libc
 # define libc_hidden_proto(name) hidden_proto (name)
 # define libc_hidden_def(name) hidden_def (name)
 # define libc_hidden_weak(name) hidden_weak (name)
@@ -537,8 +533,7 @@
 # define libc_hidden_ver(local, name)
 #endif
 
-#if defined NOT_IN_libc && defined IS_IN_rtld \
-    && !defined HAVE_BROKEN_ALIAS_ATTRIBUTE
+#if defined NOT_IN_libc && defined IS_IN_rtld
 # define rtld_hidden_proto(name) hidden_proto (name)
 # define rtld_hidden_def(name) hidden_def (name)
 # define rtld_hidden_weak(name) hidden_weak (name)
@@ -550,8 +545,7 @@
 # define rtld_hidden_ver(local, name)
 #endif
 
-#if defined NOT_IN_libc && defined IS_IN_libm \
-    && !defined HAVE_BROKEN_ALIAS_ATTRIBUTE
+#if defined NOT_IN_libc && defined IS_IN_libm
 # define libm_hidden_proto(name) hidden_proto (name)
 # define libm_hidden_def(name) hidden_def (name)
 # define libm_hidden_weak(name) hidden_weak (name)


	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]