From 17d6eea5d50485078affbb12b895e3e508366ba9 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 11 Jun 2012 13:23:51 +0000 Subject: Don't hardcode .got.plt into DATA_SEGMENT_RELRO_END evaluation ld/ PR ld/14215 * ldexp.c (fold_name ): Allow forward section references. * emulparams/elf32_x86_64.sh (SEPARATE_GOTPLT): Depend on size of .got.plt. * emulparams/elf32mb_linux.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf32tilegx.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf32tilepro.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf64tilegx.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_k1om.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_l1om.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Likewise. ld/testsuite/ PR ld/14215 * ld-i386/i386.exp: Run pr14215. * ld-x86-64/x86-64.exp: Likewise. * ld-i386/pr14215.d: New file. * ld-i386/pr14215.s: Likewise. * ld-x86-64/pr14215.d: Likewise. * ld-x86-64/pr14215.s: Likewise. --- ld/ldexp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ld/ldexp.c') diff --git a/ld/ldexp.c b/ld/ldexp.c index 3bddc81..d83e274 100644 --- a/ld/ldexp.c +++ b/ld/ldexp.c @@ -681,7 +681,7 @@ fold_name (etree_type *tree) tree, tree->name.name); new_number (0); } - else if (os->processed_vma) + else if (os->bfd_section != NULL) { bfd_vma val; @@ -693,6 +693,8 @@ fold_name (etree_type *tree) new_number (val); } + else + new_number (0); } break; -- cgit v1.1