+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
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>
/* Print the various times we collected. */
static void
+__attribute ((noinline))
print_statistics (hp_timing_t *rtld_total_timep)
{
#ifndef HP_TIMING_NONAVAIL
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)
-/* 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
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. */
return __internal_setnetgrent_reuse (group, datap, &errno);
}
+libc_hidden_def (internal_setnetgrent)
strong_alias (internal_setnetgrent, __internal_setnetgrent)
int
}
-static void
+void internal_endnetgrent (struct __netgrent *datap);
+libc_hidden_proto (internal_endnetgrent)
+
+void
internal_endnetgrent (struct __netgrent *datap)
{
service_user *old_nip;
/* Now free list of all netgroup names from last run. */
free_memory (datap);
}
+libc_hidden_def (internal_endnetgrent)
strong_alias (internal_endnetgrent, __internal_endnetgrent)
}
-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)
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. */
/* 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. */
-/* 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
}
weak_alias (__strsep, strsep)
strong_alias (__strsep, __strsep_g)
+libc_hidden_def (__strsep_g)
/* 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
}
return token;
}
+libc_hidden_def (__strtok_r)
weak_alias (__strtok_r, strtok_r)
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)
#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)
{
/* 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.
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 are quite irritating but
necessary if we want to avoid duplicating the information. There
are three different modes:
*/
#ifndef PROCINFO_CLASS
-#define PROCINFO_CLASS
+# define PROCINFO_CLASS
#endif
#if !defined PROCINFO_DECL && defined SHARED
#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))
#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))
#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))