From 48896b9dba83e158691073b248cbcdd68e0752f6 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 5 Dec 2000 17:34:28 +0000 Subject: Update. 2000-12-05 Andreas Jaeger * 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 to get prototypes. * sysdeps/generic/dl-environ.c: Likewise. * stdio-common/printf_fp.c: Include instead of . * 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. --- sysdeps/generic/dl-cache.c | 7 +------ sysdeps/generic/dl-environ.c | 2 +- sysdeps/generic/dl-sysdep.c | 1 + sysdeps/generic/ldsodefs.h | 30 ++++++++++++++++++++++++++++++ sysdeps/generic/longjmp.c | 4 +--- 5 files changed, 34 insertions(+), 10 deletions(-) (limited to 'sysdeps/generic') 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 -/* 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 - +#include 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 -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. */ -- cgit 1.4.1