diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-10-13 17:45:31 +0000 |
---|---|---|
committer | Mark Mitchell <mark@codesourcery.com> | 2004-10-13 17:45:31 +0000 |
commit | c0042f5da0a9d3aaf254d2d6273a042230e58fea (patch) | |
tree | 7378276fda6e8cba535fdf90a0d027c2260a5d9e | |
parent | 9f3359456878efddffc9c96c2107ee7f3ef2436b (diff) | |
download | gdb-c0042f5da0a9d3aaf254d2d6273a042230e58fea.zip gdb-c0042f5da0a9d3aaf254d2d6273a042230e58fea.tar.gz gdb-c0042f5da0a9d3aaf254d2d6273a042230e58fea.tar.bz2 |
* 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.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-arm.h | 11 | ||||
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/scripttempl/armbpabi.sc | 6 |
4 files changed, 23 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a820851..9574965 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2004-10-13 Mark Mitchell <mark@codesourcery.com> + + * 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 <mark@codesourcery.com> * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index a74004d..88636d2 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 e03f60b..bc1e142 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2004-10-13 Mark Mitchell <mark@codesourcery.com> + + * scripttempl/armbpabi.sc: Do not put .gnu.version.* into a + loadable segment. + 2004-10-13 Alan Modra <amodra@bigpond.net.au> PR 44 diff --git a/ld/scripttempl/armbpabi.sc b/ld/scripttempl/armbpabi.sc index 63d5393..6904ca9 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 <<EOF .hash 0 : { *(.hash) } .dynsym 0 : { *(.dynsym) } .dynstr 0 : { *(.dynstr) } + .gnu.version 0 : { *(.gnu.version) } + .gnu.version_d 0: { *(.gnu.version_d) } + .gnu.version_r 0: { *(.gnu.version_r) } ${CREATE_SHLIB-${INTERP}} /* Stabs debugging sections. */ |