aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-01-24 08:36:13 +0000
committerUlrich Drepper <drepper@redhat.com>2004-01-24 08:36:13 +0000
commite8648a5a87fd0c472cb6002df8111b9a8ec3fba6 (patch)
tree87992735d4b94569a7938455ff304b630b66b8f0 /sysdeps
parent75631a576303d3bf23c0db077dcf5dc15c863063 (diff)
downloadglibc-e8648a5a87fd0c472cb6002df8111b9a8ec3fba6.tar
glibc-e8648a5a87fd0c472cb6002df8111b9a8ec3fba6.tar.gz
glibc-e8648a5a87fd0c472cb6002df8111b9a8ec3fba6.tar.bz2
glibc-e8648a5a87fd0c472cb6002df8111b9a8ec3fba6.zip
Update.
2004-01-22 Jakub Jelinek <jakub@redhat.com> * elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection into... (_dl_protect_relro): New routine. * sysdeps/generic/ldsodefs.h (_dl_protect_relro): New prototype. * elf/rtld.c (_dl_start_final): Copy l_relro_addr and l_relro_size from bootstrap_map. (_dl_main): Don't set GL(_dl_loaded)->l_relro_{addr,size} here. Call _dl_protect_relro for libraries if prelinking.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/ldsodefs.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index a05e5c76d4..eed7893a1e 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -697,6 +697,10 @@ extern void _dl_relocate_object_internal (struct link_map *map,
int lazy, int consider_profiling)
attribute_hidden;
+/* Protect PT_GNU_RELRO area. */
+extern void _dl_protect_relro (struct link_map *map)
+ internal_function attribute_hidden;
+
/* Call _dl_signal_error with a message about an unhandled reloc type.
TYPE is the result of ELFW(R_TYPE) (r_info), i.e. an R_<CPU>_* value.
PLT is nonzero if this was a PLT reloc; it just affects the message. */