From dc0f822bfed430e5b4f87f27c2e63171fa5fba28 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Tue, 2 Nov 2004 08:14:49 +0000 Subject: - Remove dynamic_size from struct elf_resolve. - Replace all open coded dynamic handling with a function. Reduces size. - Fold special MIPS dynamic code into the dynamic_info item. - Add RELRO support. - Support linking with "-z now". - prepare for DT_RELACOUNT/DT_RELCOUNT optimization. - Add -z now to ld.so linking, this is what ld.so does anyway so let the linker know that. --- ldso/include/dl-hash.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'ldso/include/dl-hash.h') diff --git a/ldso/include/dl-hash.h b/ldso/include/dl-hash.h index 67484d260..60fdd2856 100644 --- a/ldso/include/dl-hash.h +++ b/ldso/include/dl-hash.h @@ -41,18 +41,13 @@ struct elf_resolve{ */ unsigned long nchain; unsigned long * chains; - unsigned long dynamic_info[24]; + unsigned long dynamic_info[DYNAMIC_SIZE]; - unsigned long dynamic_size; unsigned long n_phent; Elf32_Phdr * ppnt; -#if defined(__mips__) - /* Needed for MIPS relocation */ - unsigned long mips_gotsym; - unsigned long mips_local_gotno; - unsigned long mips_symtabno; -#endif + ElfW(Addr) relro_addr; + size_t relro_size; #ifdef __powerpc__ /* this is used to store the address of relocation data words, so -- cgit v1.2.3