From 48896b9dba83e158691073b248cbcdd68e0752f6 Mon Sep 17 00:00:00 2001
From: Andreas Jaeger <aj@suse.de>
Date: Tue, 5 Dec 2000 17:34:28 +0000
Subject: 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.
---
 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')

diff --git a/sysdeps/generic/dl-cache.c b/sysdeps/generic/dl-cache.c
index ea4239a..d92b4ba 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 1963791..f5e0f8d 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 88340a6..bd4036c 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 ad4cbe6..032e26e 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 1a4850f..33046d5 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.  */
-- 
cgit v1.1