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.
This commit is contained in:
Ulrich Drepper 2004-07-10 20:00:44 +00:00
parent d199bfb222
commit ee600e3f76
13 changed files with 66 additions and 10 deletions

View file

@ -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

View 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>

View 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

View 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)

View 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. */

View 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. */

View 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)

View 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)

View 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)
{

View 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 are quite 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

View 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))

View 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))

View 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))