Update.
2000-12-05 Andreas Jaeger <aj@suse.de> * elf/dl-misc.c (_dl_sysdep_read_whole_file): Mark as internal_function. * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): Likewise. * sysdeps/generic/dl-cache.c: Remove declaration of _dl_sysdep_read_whole_file. * elf/dl-load.c (_dl_map_object): Remove declaration of _dl_load_cache_lookup. * sysdeps/generic/ldsodefs.h: Add declarations of _dl_load_cache_lookup, _dl_unload_cache, _dl_sysdep_read_whole_file, _dl_sysdep_start and _dl_sysdep_start_cleanup. * elf/rtld.c: Remove prototypes that are defined in ldsodefs.h now. * elf/dl-misc.c: Include <ldsodefs.h> to get prototypes. * sysdeps/generic/dl-environ.c: Likewise. * stdio-common/printf_fp.c: Include <gmp.h> instead of <stdlib/gmp.h>. * math/atest-exp.c: Likewise. * math/atest-exp2.c: Likewise. * math/atest-sincos.c: Likewise. * stdio-common/_itoa.c: Likewise. * stdio-common/_itowa.c: Likewise. * include/gmp.h: New file with internal prototypes. * sysdeps/generic/longjmp.c: Move _longjmp_unwind declaration from here to... * include/setjmp.h: ...here. * locale/Makefile (routines): Remove codeset_name since it's not needed anywhere. * locale/codeset_name.c: Removed.
This commit is contained in:
parent
b8e5ab6623
commit
48896b9dba
43
ChangeLog
43
ChangeLog
|
@ -1,3 +1,46 @@
|
||||||
|
2000-12-05 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
|
* elf/dl-misc.c (_dl_sysdep_read_whole_file): Mark as
|
||||||
|
internal_function.
|
||||||
|
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise.
|
||||||
|
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): Likewise.
|
||||||
|
|
||||||
|
* sysdeps/generic/dl-cache.c: Remove declaration of
|
||||||
|
_dl_sysdep_read_whole_file.
|
||||||
|
|
||||||
|
* elf/dl-load.c (_dl_map_object): Remove declaration of
|
||||||
|
_dl_load_cache_lookup.
|
||||||
|
|
||||||
|
* sysdeps/generic/ldsodefs.h: Add declarations of
|
||||||
|
_dl_load_cache_lookup, _dl_unload_cache,
|
||||||
|
_dl_sysdep_read_whole_file, _dl_sysdep_start and
|
||||||
|
_dl_sysdep_start_cleanup.
|
||||||
|
|
||||||
|
* elf/rtld.c: Remove prototypes that are defined in ldsodefs.h
|
||||||
|
now.
|
||||||
|
|
||||||
|
* elf/dl-misc.c: Include <ldsodefs.h> to get prototypes.
|
||||||
|
* sysdeps/generic/dl-environ.c: Likewise.
|
||||||
|
|
||||||
|
* stdio-common/printf_fp.c: Include <gmp.h> instead of
|
||||||
|
<stdlib/gmp.h>.
|
||||||
|
* math/atest-exp.c: Likewise.
|
||||||
|
* math/atest-exp2.c: Likewise.
|
||||||
|
* math/atest-sincos.c: Likewise.
|
||||||
|
* stdio-common/_itoa.c: Likewise.
|
||||||
|
* stdio-common/_itowa.c: Likewise.
|
||||||
|
|
||||||
|
* include/gmp.h: New file with internal prototypes.
|
||||||
|
|
||||||
|
* sysdeps/generic/longjmp.c: Move _longjmp_unwind declaration from
|
||||||
|
here to...
|
||||||
|
* include/setjmp.h: ...here.
|
||||||
|
|
||||||
|
* locale/Makefile (routines): Remove codeset_name since it's not
|
||||||
|
needed anywhere.
|
||||||
|
|
||||||
|
* locale/codeset_name.c: Removed.
|
||||||
|
|
||||||
2000-12-05 Ulrich Drepper <drepper@redhat.com>
|
2000-12-05 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/aix/sys/param.h: Define MAXHOSTNAMELEN here.
|
* sysdeps/unix/sysv/aix/sys/param.h: Define MAXHOSTNAMELEN here.
|
||||||
|
|
|
@ -1586,7 +1586,6 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
|
||||||
{
|
{
|
||||||
/* Check the list of libraries in the file /etc/ld.so.cache,
|
/* Check the list of libraries in the file /etc/ld.so.cache,
|
||||||
for compatibility with Linux's ldconfig program. */
|
for compatibility with Linux's ldconfig program. */
|
||||||
extern const char *_dl_load_cache_lookup (const char *name);
|
|
||||||
const char *cached = _dl_load_cache_lookup (name);
|
const char *cached = _dl_load_cache_lookup (name);
|
||||||
|
|
||||||
#ifdef SHARED
|
#ifdef SHARED
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <ldsodefs.h>
|
||||||
#include <link.h>
|
#include <link.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -42,6 +43,7 @@ _dl_sysdep_open_zero_fill (void)
|
||||||
protections. *SIZEP gets the size of the file. */
|
protections. *SIZEP gets the size of the file. */
|
||||||
|
|
||||||
void *
|
void *
|
||||||
|
internal_function
|
||||||
_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
|
_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
|
||||||
{
|
{
|
||||||
void *result;
|
void *result;
|
||||||
|
|
19
elf/rtld.c
19
elf/rtld.c
|
@ -34,25 +34,6 @@
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
/* System-specific function to do initial startup for the dynamic linker.
|
|
||||||
After this, file access calls and getenv must work. This is responsible
|
|
||||||
for setting __libc_enable_secure if we need to be secure (e.g. setuid),
|
|
||||||
and for setting _dl_argc and _dl_argv, and then calling _dl_main. */
|
|
||||||
extern ElfW(Addr) _dl_sysdep_start (void **start_argptr,
|
|
||||||
void (*dl_main) (const ElfW(Phdr) *phdr,
|
|
||||||
ElfW(Half) phent,
|
|
||||||
ElfW(Addr) *user_entry));
|
|
||||||
extern void _dl_sysdep_start_cleanup (void);
|
|
||||||
|
|
||||||
/* This function is used to unload the cache file if necessary. */
|
|
||||||
extern void _dl_unload_cache (void);
|
|
||||||
|
|
||||||
/* System-dependent function to read a file's whole contents
|
|
||||||
in the most convenient manner available. */
|
|
||||||
extern void *_dl_sysdep_read_whole_file (const char *filename,
|
|
||||||
size_t *filesize_ptr,
|
|
||||||
int mmap_prot);
|
|
||||||
|
|
||||||
/* Helper function to handle errors while resolving symbols. */
|
/* Helper function to handle errors while resolving symbols. */
|
||||||
static void print_unresolved (int errcode, const char *objname,
|
static void print_unresolved (int errcode, const char *objname,
|
||||||
const char *errsting);
|
const char *errsting);
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#ifndef __GMP_H__
|
||||||
|
|
||||||
|
#include <stdlib/gmp.h>
|
||||||
|
|
||||||
|
/* Now define the internal interfaces. */
|
||||||
|
extern mp_size_t __mpn_extract_double (mp_ptr res_ptr, mp_size_t size,
|
||||||
|
int *expt, int *is_neg,
|
||||||
|
double value);
|
||||||
|
|
||||||
|
extern mp_size_t __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
|
||||||
|
int *expt, int *is_neg,
|
||||||
|
long double value);
|
||||||
|
|
||||||
|
extern float __mpn_construct_float (mp_srcptr frac_ptr, int expt, int sign);
|
||||||
|
|
||||||
|
extern double __mpn_construct_double (mp_srcptr frac_ptr, int expt,
|
||||||
|
int negative);
|
||||||
|
|
||||||
|
extern long double __mpn_construct_long_double (mp_srcptr frac_ptr, int expt,
|
||||||
|
int sign);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
|
@ -12,4 +12,7 @@ extern void __longjmp (__jmp_buf __env, int __val)
|
||||||
This is used by the machine-dependent definition of `__sigsetjmp'.
|
This is used by the machine-dependent definition of `__sigsetjmp'.
|
||||||
Always returns zero, for convenience. */
|
Always returns zero, for convenience. */
|
||||||
extern int __sigjmp_save (jmp_buf __env, int __savemask);
|
extern int __sigjmp_save (jmp_buf __env, int __savemask);
|
||||||
|
|
||||||
|
extern void _longjmp_unwind (jmp_buf env, int val);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -35,7 +35,7 @@ distribute = localeinfo.h categories.def iso-639.def iso-3166.def \
|
||||||
locfile.h charmap.h repertoire.h localedef.h \
|
locfile.h charmap.h repertoire.h localedef.h \
|
||||||
3level.h charmap-dir.h)
|
3level.h charmap-dir.h)
|
||||||
routines = setlocale findlocale loadlocale localeconv nl_langinfo \
|
routines = setlocale findlocale loadlocale localeconv nl_langinfo \
|
||||||
nl_langinfo_l mb_cur_max codeset_name \
|
nl_langinfo_l mb_cur_max \
|
||||||
newlocale duplocale freelocale
|
newlocale duplocale freelocale
|
||||||
tests = tst-C-locale
|
tests = tst-C-locale
|
||||||
categories = ctype messages monetary numeric time paper name \
|
categories = ctype messages monetary numeric time paper name \
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib/gmp.h>
|
#include <gmp.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib/gmp.h>
|
#include <gmp.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib/gmp.h>
|
#include <gmp.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Internal function for converting integers to ASCII.
|
/* Internal function for converting integers to ASCII.
|
||||||
Copyright (C) 1994, 1995, 1996, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1994, 1995, 1996, 1999, 2000 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Torbjorn Granlund <tege@matematik.su.se>
|
Contributed by Torbjorn Granlund <tege@matematik.su.se>
|
||||||
and Ulrich Drepper <drepper@gnu.org>.
|
and Ulrich Drepper <drepper@gnu.org>.
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#include <gmp-mparam.h>
|
#include <gmp-mparam.h>
|
||||||
#include <stdlib/gmp.h>
|
#include <gmp.h>
|
||||||
#include <stdlib/gmp-impl.h>
|
#include <stdlib/gmp-impl.h>
|
||||||
#include <stdlib/longlong.h>
|
#include <stdlib/longlong.h>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Internal function for converting integers to ASCII.
|
/* Internal function for converting integers to ASCII.
|
||||||
Copyright (C) 1994, 1995, 1996, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1994, 1995, 1996, 1999, 2000 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Torbjorn Granlund <tege@matematik.su.se>
|
Contributed by Torbjorn Granlund <tege@matematik.su.se>
|
||||||
and Ulrich Drepper <drepper@gnu.org>.
|
and Ulrich Drepper <drepper@gnu.org>.
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#include <gmp-mparam.h>
|
#include <gmp-mparam.h>
|
||||||
#include <stdlib/gmp.h>
|
#include <gmp.h>
|
||||||
#include <stdlib/gmp-impl.h>
|
#include <stdlib/gmp-impl.h>
|
||||||
#include <stdlib/longlong.h>
|
#include <stdlib/longlong.h>
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <gmp-mparam.h>
|
#include <gmp-mparam.h>
|
||||||
#include <stdlib/gmp.h>
|
#include <gmp.h>
|
||||||
#include <stdlib/gmp-impl.h>
|
#include <stdlib/gmp-impl.h>
|
||||||
#include <stdlib/longlong.h>
|
#include <stdlib/longlong.h>
|
||||||
#include <stdlib/fpioconst.h>
|
#include <stdlib/fpioconst.h>
|
||||||
|
|
|
@ -26,12 +26,6 @@
|
||||||
|
|
||||||
#include <stdio-common/_itoa.h>
|
#include <stdio-common/_itoa.h>
|
||||||
|
|
||||||
/* System-dependent function to read a file's whole contents
|
|
||||||
in the most convenient manner available. */
|
|
||||||
extern void *_dl_sysdep_read_whole_file (const char *filename,
|
|
||||||
size_t *filesize_ptr,
|
|
||||||
int mmap_prot);
|
|
||||||
|
|
||||||
extern const char *_dl_platform;
|
extern const char *_dl_platform;
|
||||||
|
|
||||||
#ifndef _DL_PLATFORMS_COUNT
|
#ifndef _DL_PLATFORMS_COUNT
|
||||||
|
@ -150,6 +144,7 @@ while (0)
|
||||||
or null if none is found. */
|
or null if none is found. */
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
|
internal_function
|
||||||
_dl_load_cache_lookup (const char *name)
|
_dl_load_cache_lookup (const char *name)
|
||||||
{
|
{
|
||||||
int left, right, middle;
|
int left, right, middle;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <ldsodefs.h>
|
||||||
|
|
||||||
extern char **_environ;
|
extern char **_environ;
|
||||||
|
|
||||||
|
|
|
@ -191,6 +191,7 @@ _dl_sysdep_start (void **start_argptr,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
internal_function
|
||||||
_dl_sysdep_start_cleanup (void)
|
_dl_sysdep_start_cleanup (void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -456,6 +456,36 @@ extern const struct r_strlenpair *_dl_important_hwcaps (const char *platform,
|
||||||
size_t *max_capstrlen)
|
size_t *max_capstrlen)
|
||||||
internal_function;
|
internal_function;
|
||||||
|
|
||||||
|
/* Look up NAME in ld.so.cache and return the file name stored there,
|
||||||
|
or null if none is found. */
|
||||||
|
extern const char *_dl_load_cache_lookup (const char *name)
|
||||||
|
internal_function;
|
||||||
|
|
||||||
|
/* If the system does not support MAP_COPY we cannot leave the file open
|
||||||
|
all the time since this would create problems when the file is replaced.
|
||||||
|
Therefore we provide this function to close the file and open it again
|
||||||
|
once needed. */
|
||||||
|
extern void _dl_unload_cache (void);
|
||||||
|
|
||||||
|
/* System-dependent function to read a file's whole contents
|
||||||
|
in the most convenient manner available. */
|
||||||
|
extern void *_dl_sysdep_read_whole_file (const char *file, size_t *sizep,
|
||||||
|
int prot)
|
||||||
|
internal_function;
|
||||||
|
|
||||||
|
/* System-specific function to do initial startup for the dynamic linker.
|
||||||
|
After this, file access calls and getenv must work. This is responsible
|
||||||
|
for setting __libc_enable_secure if we need to be secure (e.g. setuid),
|
||||||
|
and for setting _dl_argc and _dl_argv, and then calling _dl_main. */
|
||||||
|
extern ElfW(Addr) _dl_sysdep_start (void **start_argptr,
|
||||||
|
void (*dl_main) (const ElfW(Phdr) *phdr,
|
||||||
|
ElfW(Word) phnum,
|
||||||
|
ElfW(Addr) *user_entry));
|
||||||
|
|
||||||
|
extern void _dl_sysdep_start_cleanup (void)
|
||||||
|
internal_function;
|
||||||
|
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
#endif /* ldsodefs.h */
|
#endif /* ldsodefs.h */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 1991, 92, 94, 95, 97, 98 Free Software Foundation, Inc.
|
/* Copyright (C) 1991, 92, 94, 95, 97, 98, 2000 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
@ -21,8 +21,6 @@
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
|
|
||||||
extern void _longjmp_unwind (jmp_buf env, int val);
|
|
||||||
|
|
||||||
/* Set the signal mask to the one specified in ENV, and jump
|
/* Set the signal mask to the one specified in ENV, and jump
|
||||||
to the position specified in ENV, causing the setjmp
|
to the position specified in ENV, causing the setjmp
|
||||||
call there to return VAL, or 1 if VAL is 0. */
|
call there to return VAL, or 1 if VAL is 0. */
|
||||||
|
|
Loading…
Reference in New Issue