summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 16:09:20 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 16:09:38 -0700
commita0aef7830eb0698f72129b647be8c00cdf0c7938 (patch)
treef649980f9d20665da5916e17915bd31414a24471
parent3ee8209be761210dc6a8f121fd79231e7f364a9b (diff)
downloadglibc-a0aef7830eb0698f72129b647be8c00cdf0c7938.tar.gz
Move hidden_proto (__dl_iterate_phdr) to include/link.h [BZ #18822]
__dl_iterate_phdr is hidden and should be accessed directly within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * elf/dl-iteratephdr.c (hidden_proto (__dl_iterate_phdr)): Moved to ... * include/link.h (hidden_proto (__dl_iterate_phdr)): Here.
-rw-r--r--ChangeLog7
-rw-r--r--elf/dl-iteratephdr.c1
-rw-r--r--include/link.h1
3 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 396cf74ef8..33177f2cee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18822]
+ * elf/dl-iteratephdr.c (hidden_proto (__dl_iterate_phdr)): Moved
+ to ...
+ * include/link.h (hidden_proto (__dl_iterate_phdr)): Here.
+
+2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18822]
* sysdeps/unix/sysv/linux/getpt.c (__bsd_getpt): Add
attribute_hidden.
diff --git a/elf/dl-iteratephdr.c b/elf/dl-iteratephdr.c
index ddd5bde831..88473e790b 100644
--- a/elf/dl-iteratephdr.c
+++ b/elf/dl-iteratephdr.c
@@ -28,7 +28,6 @@ cancel_handler (void *arg __attribute__((unused)))
__rtld_lock_unlock_recursive (GL(dl_load_write_lock));
}
-hidden_proto (__dl_iterate_phdr)
int
__dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info,
size_t size, void *data), void *data)
diff --git a/include/link.h b/include/link.h
index eeb5f4d53b..3e1b2aefb7 100644
--- a/include/link.h
+++ b/include/link.h
@@ -341,6 +341,7 @@ struct link_map
extern int __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info,
size_t size, void *data),
void *data);
+hidden_proto (__dl_iterate_phdr)
/* We use this macro to refer to ELF macros independent of the native
wordsize. `ELFW(R_TYPE)' is used in place of `ELF32_R_TYPE' or