Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 17 Sep 2002 18:45:41 +0000 (18:45 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 17 Sep 2002 18:45:41 +0000 (18:45 +0000)
* include/libc-symbols.h: Change *hidden_proto macros to accept
option parameters and pass those to the attribute definition.
* include/unistd.h (_exit): Add __noreturn__ to libc_hidden_proto call.

ChangeLog
include/libc-symbols.h
include/unistd.h

index e0b55e8..918eb09 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2002-09-17  Ulrich Drepper  <drepper@redhat.com>
 
+       * include/libc-symbols.h: Change *hidden_proto macros to accept
+       option parameters and pass those to the attribute definition.
+       * include/unistd.h (_exit): Add __noreturn__ to libc_hidden_proto call.
+
        * include/unistd.h: Declare __libc_pause.
 
        * include/sys/socket.h: Declare __libc_send, __libc_recv,
index 4252156..0c21951 100644 (file)
 #if defined SHARED && defined DO_VERSIONING \
     && !defined HAVE_BROKEN_ALIAS_ATTRIBUTE
 # ifndef __ASSEMBLER__
-#  ifdef HAVE_BROKEN_VISIBILITY_ATTRIBUTE
-#   define __hidden_proto_hiddenattr
+#  if !defined HAVE_VISIBILITY_ATTRIBUTE \
+      || defined HAVE_BROKEN_VISIBILITY_ATTRIBUTE
+#   define __hidden_proto_hiddenattr(attrs...)
 #  else
-#   define __hidden_proto_hiddenattr attribute_hidden
+#   define __hidden_proto_hiddenattr(attrs...) \
+  __attribute__ ((visibility ("hidden"), ##attrs))
 #  endif
-#  define hidden_proto(name) __hidden_proto (name, __GI_##name)
-#  define __hidden_proto(name, internal) \
+#  define hidden_proto(name, attrs...) \
+  __hidden_proto (name, __GI_##name, ##attrs)
+#  define __hidden_proto(name, internal, attrs...) \
   extern __typeof (name) internal; \
   extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
-  __hidden_proto_hiddenattr;
+  __hidden_proto_hiddenattr (attrs);
 #  define __hidden_asmname(name) \
   __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
 #  define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
 # endif
 #else
 # ifndef __ASSEMBLER__
-#  define hidden_proto(name)
+#  define hidden_proto(name, attrs...)
 # else
 #  define HIDDEN_JUMPTARGET(name) JUMPTARGET(name)
 # endif /* Not  __ASSEMBLER__ */
 #endif
 
 #if !defined NOT_IN_libc
-# define libc_hidden_proto(name) hidden_proto (name)
+# define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
 # define libc_hidden_def(name) hidden_def (name)
 # define libc_hidden_weak(name) hidden_weak (name)
 # define libc_hidden_ver(local, name) hidden_ver (local, name)
 #else
-# define libc_hidden_proto(name)
+# define libc_hidden_proto(name, attrs...)
 # define libc_hidden_def(name)
 # define libc_hidden_weak(name)
 # define libc_hidden_ver(local, name)
 #endif
 
 #if defined NOT_IN_libc && defined IS_IN_rtld
-# define rtld_hidden_proto(name) hidden_proto (name)
+# define rtld_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
 # define rtld_hidden_def(name) hidden_def (name)
 # define rtld_hidden_weak(name) hidden_weak (name)
 # define rtld_hidden_ver(local, name) hidden_ver (local, name)
 #else
-# define rtld_hidden_proto(name)
+# define rtld_hidden_proto(name, attrs...)
 # define rtld_hidden_def(name)
 # define rtld_hidden_weak(name)
 # define rtld_hidden_ver(local, name)
 #endif
 
 #if defined NOT_IN_libc && defined IS_IN_libm
-# define libm_hidden_proto(name) hidden_proto (name)
+# define libm_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
 # define libm_hidden_def(name) hidden_def (name)
 # define libm_hidden_weak(name) hidden_weak (name)
 # define libm_hidden_ver(local, name) hidden_ver (local, name)
 #else
-# define libm_hidden_proto(name)
+# define libm_hidden_proto(name, attrs...)
 # define libm_hidden_def(name)
 # define libm_hidden_weak(name)
 # define libm_hidden_ver(local, name)
index cc5cfcc..a5d15aa 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef _UNISTD_H
 # include <posix/unistd.h>
 
-libc_hidden_proto (_exit)
+libc_hidden_proto (_exit, __noreturn__)
 libc_hidden_proto (alarm)
 libc_hidden_proto (confstr)
 libc_hidden_proto (execl)