diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a820851869..957496551f 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 a74004d033..88636d2c05 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 e03f60b5e2..bc1e142f34 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 63d539367e..6904ca9513 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 <