* elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
authorMark Mitchell <mark@codesourcery.com>
Wed, 13 Oct 2004 17:45:31 +0000 (17:45 +0000)
committerMark Mitchell <mark@codesourcery.com>
Wed, 13 Oct 2004 17:45:31 +0000 (17:45 +0000)
offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.

* scripttempl/armbpabi.sc: Do not put .gnu.version.* into a
loadable segment.

bfd/ChangeLog
bfd/elf32-arm.h
ld/ChangeLog
ld/scripttempl/armbpabi.sc

index a820851869b0e5df2cc0064667bdb92f6e2bb7db..957496551fc5c718d73087257b8cfdd3d6fdb95d 100644 (file)
@@ -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
index a74004d033dd8aeb02f918df75704fd281b2ac56..88636d2c055334a5d1427ec6de418f6aa35bb5db 100644 (file)
@@ -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;
index e03f60b5e2a825b14cd56b2a6a99bccf14bb18a0..bc1e142f341b56c61e284440b0cdd2e4b6151915 100644 (file)
@@ -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
index 63d539367ed500cf646376d35c8ac0e1695695fc..6904ca9513e703fae5f5168a26e36866bf7345fd 100644 (file)
@@ -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.  */