From e8648a5a87fd0c472cb6002df8111b9a8ec3fba6 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 24 Jan 2004 08:36:13 +0000 Subject: Update. 2004-01-22 Jakub Jelinek * 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. --- sysdeps/generic/ldsodefs.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sysdeps/generic/ldsodefs.h') 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__* value. PLT is nonzero if this was a PLT reloc; it just affects the message. */ -- cgit v1.2.3