summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog43
-rw-r--r--elf/dl-load.c1
-rw-r--r--elf/dl-misc.c2
-rw-r--r--elf/rtld.c19
-rw-r--r--include/gmp.h23
-rw-r--r--include/setjmp.h3
-rw-r--r--locale/Makefile2
-rw-r--r--math/atest-exp.c2
-rw-r--r--math/atest-exp2.c2
-rw-r--r--math/atest-sincos.c2
-rw-r--r--stdio-common/_itoa.c4
-rw-r--r--stdio-common/_itowa.c4
-rw-r--r--stdio-common/printf_fp.c2
-rw-r--r--sysdeps/generic/dl-cache.c7
-rw-r--r--sysdeps/generic/dl-environ.c2
-rw-r--r--sysdeps/generic/dl-sysdep.c1
-rw-r--r--sysdeps/generic/ldsodefs.h30
-rw-r--r--sysdeps/generic/longjmp.c4
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. */