aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-03-15 05:20:35 +0000
committerUlrich Drepper <drepper@redhat.com>2002-03-15 05:20:35 +0000
commit9360906d42dd15e24f27a35b77f16df516f3c05d (patch)
tree732ba9c35fb5b094742e8423a12670a902d58081 /sysdeps
parent5c82e15e8646cd7d229bcd8287d01875e12df0b3 (diff)
downloadglibc-9360906d42dd15e24f27a35b77f16df516f3c05d.tar
glibc-9360906d42dd15e24f27a35b77f16df516f3c05d.tar.gz
glibc-9360906d42dd15e24f27a35b77f16df516f3c05d.tar.bz2
glibc-9360906d42dd15e24f27a35b77f16df516f3c05d.zip
Update.
* elf/rtld.c: Declare _environ as hidden. * sysdeps/generic/dl-environ.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and _dl_mcount_internal as hidden. * elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk. * sysdeps/generic/dl-brk.c: New file. * sysdeps/generic/dl-sbrk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-brk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/dl-brk.c2
-rw-r--r--sysdeps/generic/dl-environ.c4
-rw-r--r--sysdeps/generic/dl-sbrk.c2
-rw-r--r--sysdeps/generic/dl-sysdep.c2
-rw-r--r--sysdeps/generic/ldsodefs.h5
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-brk.c5
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-sbrk.c5
7 files changed, 22 insertions, 3 deletions
diff --git a/sysdeps/generic/dl-brk.c b/sysdeps/generic/dl-brk.c
new file mode 100644
index 0000000000..4a0cf2da11
--- /dev/null
+++ b/sysdeps/generic/dl-brk.c
@@ -0,0 +1,2 @@
+/* Just use the normal code. */
+#include <brk.c>
diff --git a/sysdeps/generic/dl-environ.c b/sysdeps/generic/dl-environ.c
index 53fa869aeb..132dad9c3e 100644
--- a/sysdeps/generic/dl-environ.c
+++ b/sysdeps/generic/dl-environ.c
@@ -50,6 +50,10 @@ _dl_next_ld_env_entry (char ***position)
return result;
}
+
+/* In ld.so __environ is not exported. */
+extern char **__environ attribute_hidden;
+
int
unsetenv (const char *name)
{
diff --git a/sysdeps/generic/dl-sbrk.c b/sysdeps/generic/dl-sbrk.c
new file mode 100644
index 0000000000..3874975890
--- /dev/null
+++ b/sysdeps/generic/dl-sbrk.c
@@ -0,0 +1,2 @@
+/* Just use the normal code. */
+#include <sbrk.c>
diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c
index 36b1150ff7..0f5f0fcdab 100644
--- a/sysdeps/generic/dl-sysdep.c
+++ b/sysdeps/generic/dl-sysdep.c
@@ -38,7 +38,7 @@
#include <dl-osinfo.h>
#include <hp-timing.h>
-extern char **_environ;
+extern char **_environ attribute_hidden;
extern void _end attribute_hidden;
/* Protect SUID program against misuse of file descriptors. */
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index d2dd3e60ec..a68ae5e06e 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -634,7 +634,7 @@ extern void _dl_fini (void) internal_function;
says what change is taking place. This function's address is
the value of the `r_brk' member. */
extern void _dl_debug_state (void);
-extern void _dl_debug_state_internal (void);
+extern void _dl_debug_state_internal (void) attribute_hidden;
/* Initialize `struct r_debug' if it has not already been done. The
argument is the run-time load address of the dynamic linker, to be put
@@ -655,7 +655,8 @@ extern void _dl_start_profile_internal (struct link_map *map,
/* The actual functions used to keep book on the calls. */
extern void _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc);
-extern void _dl_mcount_internal (ElfW(Addr) frompc, ElfW(Addr) selfpc);
+extern void _dl_mcount_internal (ElfW(Addr) frompc, ElfW(Addr) selfpc)
+ attribute_hidden;
/* This function is simply a wrapper around the _dl_mcount function
which does not require a FROMPC parameter since this is the
diff --git a/sysdeps/unix/sysv/linux/i386/dl-brk.c b/sysdeps/unix/sysv/linux/i386/dl-brk.c
new file mode 100644
index 0000000000..c37cdfec33
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/dl-brk.c
@@ -0,0 +1,5 @@
+/* We can use the normal code but we also know the __curbrk is not exported
+ from ld.so. */
+extern void *__curbrk attribute_hidden;
+
+#include <brk.c>
diff --git a/sysdeps/unix/sysv/linux/i386/dl-sbrk.c b/sysdeps/unix/sysv/linux/i386/dl-sbrk.c
new file mode 100644
index 0000000000..4713a92694
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/dl-sbrk.c
@@ -0,0 +1,5 @@
+/* We can use the normal code but we also know the __curbrk is not exported
+ from ld.so. */
+extern void *__curbrk attribute_hidden;
+
+#include <sbrk.c>