From c0042f5da0a9d3aaf254d2d6273a042230e58fea Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Wed, 13 Oct 2004 17:45:31 +0000 Subject: [PATCH] * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED. * scripttempl/armbpabi.sc: Do not put .gnu.version.* into a loadable segment. --- bfd/ChangeLog | 5 +++++ bfd/elf32-arm.h | 11 ++++++++++- ld/ChangeLog | 5 +++++ ld/scripttempl/armbpabi.sc | 6 +++--- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a820851869b..957496551fc 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2004-10-13 Mark Mitchell + + * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file + offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED. + 2004-10-12 Mark Mitchell * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index a74004d033d..88636d2c055 100644 --- a/bfd/elf32-arm.h +++ b/bfd/elf32-arm.h @@ -4047,7 +4047,16 @@ elf32_arm_finish_dynamic_sections (bfd * output_bfd, struct bfd_link_info * info case DT_SYMTAB: name = ".dynsym"; goto get_vma_if_bpabi; - + case DT_VERSYM: + name = ".gnu.version"; + goto get_vma_if_bpabi; + case DT_VERDEF: + name = ".gnu.version_d"; + goto get_vma_if_bpabi; + case DT_VERNEED: + name = ".gnu.version_r"; + goto get_vma_if_bpabi; + case DT_PLTGOT: name = ".got"; goto get_vma; diff --git a/ld/ChangeLog b/ld/ChangeLog index e03f60b5e2a..bc1e142f341 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2004-10-13 Mark Mitchell + + * scripttempl/armbpabi.sc: Do not put .gnu.version.* into a + loadable segment. + 2004-10-13 Alan Modra PR 44 diff --git a/ld/scripttempl/armbpabi.sc b/ld/scripttempl/armbpabi.sc index 63d539367ed..6904ca9513e 100644 --- a/ld/scripttempl/armbpabi.sc +++ b/ld/scripttempl/armbpabi.sc @@ -205,9 +205,6 @@ SECTIONS ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}} ${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}} ${INITIAL_READONLY_SECTIONS} - .gnu.version ${RELOCATING-0} : { *(.gnu.version) } - .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) } - .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) } EOF if [ "x$COMBRELOC" = x ]; then @@ -384,6 +381,9 @@ cat <