diff options
author | Andreas Jaeger <aj@suse.de> | 2000-12-05 17:34:28 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2000-12-05 17:34:28 +0000 |
commit | 48896b9dba83e158691073b248cbcdd68e0752f6 (patch) | |
tree | ebdd9b0ba208b1e0261b60e2729b0540d110e011 | |
parent | b8e5ab66236ba881fbf55a03364078c571058359 (diff) | |
download | glibc-48896b9dba83e158691073b248cbcdd68e0752f6.tar.gz glibc-48896b9dba83e158691073b248cbcdd68e0752f6.tar.xz glibc-48896b9dba83e158691073b248cbcdd68e0752f6.zip |
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.
-rw-r--r-- | ChangeLog | 43 | ||||
-rw-r--r-- | elf/dl-load.c | 1 | ||||
-rw-r--r-- | elf/dl-misc.c | 2 | ||||
-rw-r--r-- | elf/rtld.c | 19 | ||||
-rw-r--r-- | include/gmp.h | 23 | ||||
-rw-r--r-- | include/setjmp.h | 3 | ||||
-rw-r--r-- | locale/Makefile | 2 | ||||
-rw-r--r-- | math/atest-exp.c | 2 | ||||
-rw-r--r-- | math/atest-exp2.c | 2 | ||||
-rw-r--r-- | math/atest-sincos.c | 2 | ||||
-rw-r--r-- | stdio-common/_itoa.c | 4 | ||||
-rw-r--r-- | stdio-common/_itowa.c | 4 | ||||
-rw-r--r-- | stdio-common/printf_fp.c | 2 | ||||
-rw-r--r-- | sysdeps/generic/dl-cache.c | 7 | ||||
-rw-r--r-- | sysdeps/generic/dl-environ.c | 2 | ||||
-rw-r--r-- | sysdeps/generic/dl-sysdep.c | 1 | ||||
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 30 | ||||
-rw-r--r-- | sysdeps/generic/longjmp.c | 4 |
18 files changed, 114 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog index 96f6abef76..11d373136d 100644 --- a/ChangeLog +++ b/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> * sysdeps/unix/sysv/aix/sys/param.h: Define MAXHOSTNAMELEN here. diff --git a/elf/dl-load.c b/elf/dl-load.c index 45f38f3c44..600f5f9fe9 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -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, 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); #ifdef SHARED diff --git a/elf/dl-misc.c b/elf/dl-misc.c index 4a811a0356..5629c2aa82 100644 --- a/elf/dl-misc.c +++ b/elf/dl-misc.c @@ -19,6 +19,7 @@ #include <assert.h> #include <fcntl.h> +#include <ldsodefs.h> #include <link.h> #include <stdarg.h> #include <string.h> @@ -42,6 +43,7 @@ _dl_sysdep_open_zero_fill (void) protections. *SIZEP gets the size of the file. */ void * +internal_function _dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot) { void *result; diff --git a/elf/rtld.c b/elf/rtld.c index c44506acc4..5c794d9a75 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -34,25 +34,6 @@ #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. */ static void print_unresolved (int errcode, const char *objname, const char *errsting); diff --git a/include/gmp.h b/include/gmp.h new file mode 100644 index 0000000000..ff26658d93 --- /dev/null +++ b/include/gmp.h @@ -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 diff --git a/include/setjmp.h b/include/setjmp.h index 44dae7877a..5093ff7d06 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -12,4 +12,7 @@ extern void __longjmp (__jmp_buf __env, int __val) This is used by the machine-dependent definition of `__sigsetjmp'. Always returns zero, for convenience. */ extern int __sigjmp_save (jmp_buf __env, int __savemask); + +extern void _longjmp_unwind (jmp_buf env, int val); + #endif diff --git a/locale/Makefile b/locale/Makefile index 0710863cb1..b7a2849fd7 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -35,7 +35,7 @@ distribute = localeinfo.h categories.def iso-639.def iso-3166.def \ locfile.h charmap.h repertoire.h localedef.h \ 3level.h charmap-dir.h) routines = setlocale findlocale loadlocale localeconv nl_langinfo \ - nl_langinfo_l mb_cur_max codeset_name \ + nl_langinfo_l mb_cur_max \ newlocale duplocale freelocale tests = tst-C-locale categories = ctype messages monetary numeric time paper name \ diff --git a/math/atest-exp.c b/math/atest-exp.c index 677d19239f..e5f47520c6 100644 --- a/math/atest-exp.c +++ b/math/atest-exp.c @@ -19,7 +19,7 @@ #include <stdio.h> #include <math.h> -#include <stdlib/gmp.h> +#include <gmp.h> #include <string.h> #include <limits.h> #include <assert.h> diff --git a/math/atest-exp2.c b/math/atest-exp2.c index 6a17039ecd..6a41398fef 100644 --- a/math/atest-exp2.c +++ b/math/atest-exp2.c @@ -19,7 +19,7 @@ #include <stdio.h> #include <math.h> -#include <stdlib/gmp.h> +#include <gmp.h> #include <string.h> #include <limits.h> #include <assert.h> diff --git a/math/atest-sincos.c b/math/atest-sincos.c index b07dea393e..d82f62a272 100644 --- a/math/atest-sincos.c +++ b/math/atest-sincos.c @@ -19,7 +19,7 @@ #include <stdio.h> #include <math.h> -#include <stdlib/gmp.h> +#include <gmp.h> #include <string.h> #include <limits.h> #include <assert.h> diff --git a/stdio-common/_itoa.c b/stdio-common/_itoa.c index 2eca838229..ef961778f6 100644 --- a/stdio-common/_itoa.c +++ b/stdio-common/_itoa.c @@ -1,5 +1,5 @@ /* 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. Contributed by Torbjorn Granlund <tege@matematik.su.se> and Ulrich Drepper <drepper@gnu.org>. @@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA. */ #include <gmp-mparam.h> -#include <stdlib/gmp.h> +#include <gmp.h> #include <stdlib/gmp-impl.h> #include <stdlib/longlong.h> diff --git a/stdio-common/_itowa.c b/stdio-common/_itowa.c index 430415b96b..4c93b31e6b 100644 --- a/stdio-common/_itowa.c +++ b/stdio-common/_itowa.c @@ -1,5 +1,5 @@ /* 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. Contributed by Torbjorn Granlund <tege@matematik.su.se> and Ulrich Drepper <drepper@gnu.org>. @@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA. */ #include <gmp-mparam.h> -#include <stdlib/gmp.h> +#include <gmp.h> #include <stdlib/gmp-impl.h> #include <stdlib/longlong.h> diff --git a/stdio-common/printf_fp.c b/stdio-common/printf_fp.c index 4d4370a2d3..2147b2994d 100644 --- a/stdio-common/printf_fp.c +++ b/stdio-common/printf_fp.c @@ -30,7 +30,7 @@ #include <ctype.h> #include <float.h> #include <gmp-mparam.h> -#include <stdlib/gmp.h> +#include <gmp.h> #include <stdlib/gmp-impl.h> #include <stdlib/longlong.h> #include <stdlib/fpioconst.h> diff --git a/sysdeps/generic/dl-cache.c b/sysdeps/generic/dl-cache.c index ea4239aef5..d92b4bac37 100644 --- a/sysdeps/generic/dl-cache.c +++ b/sysdeps/generic/dl-cache.c @@ -26,12 +26,6 @@ #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; #ifndef _DL_PLATFORMS_COUNT @@ -150,6 +144,7 @@ while (0) or null if none is found. */ const char * +internal_function _dl_load_cache_lookup (const char *name) { int left, right, middle; diff --git a/sysdeps/generic/dl-environ.c b/sysdeps/generic/dl-environ.c index 19637917a5..f5e0f8d959 100644 --- a/sysdeps/generic/dl-environ.c +++ b/sysdeps/generic/dl-environ.c @@ -18,7 +18,7 @@ Boston, MA 02111-1307, USA. */ #include <string.h> - +#include <ldsodefs.h> extern char **_environ; diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c index 88340a6baf..bd4036c7f6 100644 --- a/sysdeps/generic/dl-sysdep.c +++ b/sysdeps/generic/dl-sysdep.c @@ -191,6 +191,7 @@ _dl_sysdep_start (void **start_argptr, } void +internal_function _dl_sysdep_start_cleanup (void) { } diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index ad4cbe61b5..032e26e179 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -456,6 +456,36 @@ extern const struct r_strlenpair *_dl_important_hwcaps (const char *platform, size_t *max_capstrlen) 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 #endif /* ldsodefs.h */ diff --git a/sysdeps/generic/longjmp.c b/sysdeps/generic/longjmp.c index 1a4850f1b8..33046d5ebd 100644 --- a/sysdeps/generic/longjmp.c +++ b/sysdeps/generic/longjmp.c @@ -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. The GNU C Library is free software; you can redistribute it and/or @@ -21,8 +21,6 @@ #include <signal.h> -extern void _longjmp_unwind (jmp_buf env, int val); - /* Set the signal mask to the one specified in ENV, and jump to the position specified in ENV, causing the setjmp call there to return VAL, or 1 if VAL is 0. */ |