Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 10 Jul 2004 20:00:44 +0000 (20:00 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 10 Jul 2004 20:00:44 +0000 (20:00 +0000)
2004-07-10  Ulrich Drepper  <drepper@redhat.com>

* elf/ldconfig.c: Define PROCINFO_CLASS as static before including
ldsodefs.h.
* sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
already defined.
* sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
already defined.

* elf/rtld.c (print_statistics): Mark with noinline attribute.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
attribute.
(elf_machine_rel_relative): Likewise.

* include/string.h: Add libc_hidden_proto for __strtok_r and
__strsep_g.
* sysdeps/generic/strsep.c: Add libc_hidden_def.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/strtok_r.S: Add alias for internal symbol.
* sysdeps/i386/i686/strtok_r.S: Likewise.
* sysdeps/x86_64/strtok_r.S: Likewise.

2004-07-09  Alexandre Oliva  <aoliva@redhat.com>

* inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
instead of internal-linkage, such that we can alias to it.
(internal_endnetgrent, internal_getnetgrent_r): Likewise.

13 files changed:
ChangeLog
elf/ldconfig.c
elf/rtld.c
include/string.h
inet/getnetgrent_r.c
sysdeps/generic/ldsodefs.h
sysdeps/generic/strsep.c
sysdeps/generic/strtok_r.c
sysdeps/i386/dl-machine.h
sysdeps/i386/dl-procinfo.c
sysdeps/i386/i686/strtok_r.S
sysdeps/i386/strtok_r.S
sysdeps/x86_64/strtok_r.S

index 479773a..5c23113 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+2004-07-10  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/ldconfig.c: Define PROCINFO_CLASS as static before including
+       ldsodefs.h.
+       * sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
+       already defined.
+       * sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
+       already defined.
+
+       * elf/rtld.c (print_statistics): Mark with noinline attribute.
+       * sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
+       attribute.
+       (elf_machine_rel_relative): Likewise.
+
+       * include/string.h: Add libc_hidden_proto for __strtok_r and
+       __strsep_g.
+       * sysdeps/generic/strsep.c: Add libc_hidden_def.
+       * sysdeps/generic/strtok_r.c: Likewise.
+       * sysdeps/i386/strtok_r.S: Add alias for internal symbol.
+       * sysdeps/i386/i686/strtok_r.S: Likewise.
+       * sysdeps/x86_64/strtok_r.S: Likewise.
+
+2004-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
+       instead of internal-linkage, such that we can alias to it.
+       (internal_endnetgrent, internal_getnetgrent_r): Likewise.
+
 2004-07-09  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute
index d85bbc8..448857e 100644 (file)
@@ -17,6 +17,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#define PROCINFO_CLASS static
 #include <alloca.h>
 #include <argp.h>
 #include <dirent.h>
index 3def030..a65e9c4 100644 (file)
@@ -2229,6 +2229,7 @@ process_envvars (enum mode *modep)
 
 /* Print the various times we collected.  */
 static void
+__attribute ((noinline))
 print_statistics (hp_timing_t *rtld_total_timep)
 {
 #ifndef HP_TIMING_NONAVAIL
index 7c05abf..afc6adf 100644 (file)
@@ -80,6 +80,9 @@ libc_hidden_proto (basename)
 libc_hidden_proto (strcoll)
 libc_hidden_proto (__strcoll_l)
 libc_hidden_proto (__strxfrm_l)
+libc_hidden_proto (__strtok_r)
+extern char *__strsep_g (char **__stringp, __const char *__delim);
+libc_hidden_proto (__strsep_g)
 
 libc_hidden_builtin_proto (memchr)
 libc_hidden_builtin_proto (memcpy)
index dee90ad..5531844 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,1999,2002,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -133,7 +133,10 @@ __internal_setnetgrent_reuse (const char *group, struct __netgrent *datap,
   return status == NSS_STATUS_SUCCESS;
 }
 
-static int
+int internal_setnetgrent (const char *group, struct __netgrent *datap);
+libc_hidden_proto (internal_setnetgrent)
+
+int
 internal_setnetgrent (const char *group, struct __netgrent *datap)
 {
   /* Free list of all netgroup names from last run.  */
@@ -141,6 +144,7 @@ internal_setnetgrent (const char *group, struct __netgrent *datap)
 
   return __internal_setnetgrent_reuse (group, datap, &errno);
 }
+libc_hidden_def (internal_setnetgrent)
 strong_alias (internal_setnetgrent, __internal_setnetgrent)
 
 int
@@ -158,7 +162,10 @@ setnetgrent (const char *group)
 }
 
 
-static void
+void internal_endnetgrent (struct __netgrent *datap);
+libc_hidden_proto (internal_endnetgrent)
+
+void
 internal_endnetgrent (struct __netgrent *datap)
 {
   service_user *old_nip;
@@ -186,6 +193,7 @@ internal_endnetgrent (struct __netgrent *datap)
   /* Now free list of all netgroup names from last run.  */
   free_memory (datap);
 }
+libc_hidden_def (internal_endnetgrent)
 strong_alias (internal_endnetgrent, __internal_endnetgrent)
 
 
@@ -200,7 +208,12 @@ endnetgrent (void)
 }
 
 
-static int
+int internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
+                           struct __netgrent *datap,
+                           char *buffer, size_t buflen, int *errnop);
+libc_hidden_proto (internal_getnetgrent_r)
+
+int
 internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
                          struct __netgrent *datap,
                          char *buffer, size_t buflen, int *errnop)
@@ -286,6 +299,7 @@ internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
 
   return status == NSS_STATUS_SUCCESS ? 1 : 0;
 }
+libc_hidden_def (internal_getnetgrent_r)
 strong_alias (internal_getnetgrent_r, __internal_getnetgrent_r)
 
 /* The real entry point.  */
index 53c3290..49f7666 100644 (file)
@@ -424,7 +424,9 @@ struct rtld_global_ro
 
   /* Get architecture specific definitions.  */
 #define PROCINFO_DECL
-#define PROCINFO_CLASS EXTERN
+#ifndef PROCINFO_CLASS
+# define PROCINFO_CLASS EXTERN
+#endif
 #include <dl-procinfo.c>
 
   /* Names of shared object for which the RPATH should be ignored.  */
index 5761eec..e5342f7 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 93, 96, 97, 98, 99, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -67,3 +67,4 @@ __strsep (char **stringp, const char *delim)
 }
 weak_alias (__strsep, strsep)
 strong_alias (__strsep, __strsep_g)
+libc_hidden_def (__strsep_g)
index 34cc85c..3a5c047 100644 (file)
@@ -1,5 +1,5 @@
 /* Reentrant string tokenizer.  Generic version.
-   Copyright (C) 1991, 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1991,1996-1999,2001,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -65,4 +65,5 @@ __strtok_r (s, delim, save_ptr)
     }
   return token;
 }
+libc_hidden_def (__strtok_r)
 weak_alias (__strtok_r, strtok_r)
index 65ae53a..4b5b8f2 100644 (file)
@@ -389,6 +389,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
    MAP is the object containing the reloc.  */
 
 static inline void
+__attribute ((always_inline))
 elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
                 const Elf32_Sym *sym, const struct r_found_version *version,
                 void *const reloc_addr_arg)
@@ -639,6 +640,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
 #endif /* !RTLD_BOOTSTRAP */
 
 static inline void
+__attribute ((always_inline))
 elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
                          void *const reloc_addr_arg)
 {
index 01b24d1..2108f22 100644 (file)
@@ -1,5 +1,5 @@
 /* Data for i386 version of processor capability information.
-   Copyright (C) 2001,2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 2001,2002,2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
 
@@ -24,7 +24,7 @@
    If anything should be added here check whether the size of each string
    is still ok with the given array size.
 
-   All the #ifdefs in the definitions ar equite irritating but
+   All the #ifdefs in the definitions arquite irritating but
    necessary if we want to avoid duplicating the information.  There
    are three different modes:
 
@@ -41,7 +41,7 @@
   */
 
 #ifndef PROCINFO_CLASS
-#define PROCINFO_CLASS
+# define PROCINFO_CLASS
 #endif
 
 #if !defined PROCINFO_DECL && defined SHARED
index cbaeabb..1c24ca8 100644 (file)
@@ -2,3 +2,4 @@
 #define USE_AS_STRTOK_R        1
 #include <sysdeps/i386/i686/strtok.S>
 weak_alias (BP_SYM (__strtok_r), BP_SYM (strtok_r))
+strong_alias (BP_SYM (__strtok_r), BP_SYM (__GI___strtok_r))
index 621093a..f4a6a2c 100644 (file)
@@ -2,3 +2,4 @@
 #define USE_AS_STRTOK_R        1
 #include <sysdeps/i386/strtok.S>
 weak_alias (BP_SYM (__strtok_r), BP_SYM (strtok_r))
+strong_alias (BP_SYM (__strtok_r), BP_SYM (__GI___strtok_r))
index 0248f27..8ce0089 100644 (file)
@@ -2,3 +2,4 @@
 #define USE_AS_STRTOK_R        1
 #include <sysdeps/x86_64/strtok.S>
 weak_alias (BP_SYM (__strtok_r), BP_SYM (strtok_r))
+strong_alias (BP_SYM (__strtok_r), BP_SYM (__GI___strtok_r))