* ld-elf/flags1.d: Add xfails for ports for which the test will work.
authorNick Clifton <nickc@redhat.com>
Mon, 31 Dec 2007 11:29:01 +0000 (11:29 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 31 Dec 2007 11:29:01 +0000 (11:29 +0000)
* ld-mn10300/i143317.s: New test - checks linker relaxation when  symbols
  are in a merged section.
* ld-mn10300/i143317.d: Expected disassembly.
* ld-mn10300/i143317.t: Linker map.
* ld-mn10300/mn10300.exp (mn10300_tests): Add the i143317 test.

ld/testsuite/ChangeLog
ld/testsuite/ld-elf/flags1.d
ld/testsuite/ld-mn10300/i143317.d [new file with mode: 0644]
ld/testsuite/ld-mn10300/i143317.s [new file with mode: 0644]
ld/testsuite/ld-mn10300/i143317.t [new file with mode: 0644]
ld/testsuite/ld-mn10300/mn10300.exp

index fc825291b03da687ebb63bdd8d33b23f846f035f..3f2fc966d050c7d1142d06b1501210844cac071e 100644 (file)
@@ -1,3 +1,16 @@
+2007-12-31  Nick Clifton  <nickc@redhat.com>
+
+       * ld-elf/flags1.d: Add xfails for ports for which the test will
+       not work.
+
+2007-12-31  Nick Clifton  <nickc@redhat.com>
+
+       * ld-mn10300/i143317.s: New test - checks linker relaxation when
+       the symbols are in a merged section.
+       * ld-mn10300/i143317.d: Expected disassembly.
+       * ld-mn10300/i143317.t: Linker map.
+       * ld-mn10300/mn10300.exp (mn10300_tests): Add the i143317 test.
+
 2007-12-24  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR binutils/5488
index 6819121435cadd8467da4dc3cb4666f2c4d8b68a..0a96c6c8f52d1763eb8a95e48c7528df2dca61ba 100644 (file)
@@ -2,6 +2,13 @@
 #ld: -Tflags1.ld
 #objcopy_linked_file: --set-section-flags .post_text_reserve=contents,alloc,load,readonly,code 
 #readelf: -l --wide
+#xfail: "arm*-*-*" "xscale-*-*"
+#xfail: "avr-*-*" "dlx-*-*" "h8300-*-*" "m32r-*-*" "msp430-*-*"
+#xfail: "*-*-hpux*"
+# Fails on the ARM because the .section type character is % rather than @.
+# Fails on the AVR, DLX, H8300, M32R and MSP430 because the two sections
+#  are not merged into one segment.  (There is no good reason why they have to be).
+# Fails on HPUX systems because the .type pseudo-op behaves differently.
 
 #...
 Program Headers:
diff --git a/ld/testsuite/ld-mn10300/i143317.d b/ld/testsuite/ld-mn10300/i143317.d
new file mode 100644 (file)
index 0000000..ace2831
--- /dev/null
@@ -0,0 +1,8 @@
+
+tmpdir/i143317.x:     file format elf32-.*
+
+Disassembly of section .text:
+
+0+100c <.text>:
+[      ]+100c:[        ]+fa 02 fe 7f[  ]+mov[  ]+\(32766,a2\),d0
+[      ]+1010:[        ]+fa 06 fe 7f[  ]+mov[  ]+\(32766,a2\),d1
diff --git a/ld/testsuite/ld-mn10300/i143317.s b/ld/testsuite/ld-mn10300/i143317.s
new file mode 100644 (file)
index 0000000..abcc896
--- /dev/null
@@ -0,0 +1,36 @@
+.section .rodata.str1.1 ,"aMS",@progbits,0x1
+_start:
+.string "abcdefgh"
+L001:
+.string "hogehoge"
+L002:
+.string "fooooooo"
+L003:
+
+.text
+.align  0x02
+mov (L001@GOTOFF,A2),D0
+mov (L004@GOTOFF,A2),D1
+
+
+.section .rodata.str1.1 ,"aMS",@progbits,0x1
+L006:
+.string ""
+.string ""
+.string ""
+.string "%"
+.string ""
+.string ""
+.string "s"
+.string ""
+L005:
+.string ""
+.string ""
+.string ""
+.string "%"
+.string ""
+.string ""
+.string "r"
+.string ""
+L004:
+.string "hogehoge"
diff --git a/ld/testsuite/ld-mn10300/i143317.t b/ld/testsuite/ld-mn10300/i143317.t
new file mode 100644 (file)
index 0000000..47d9262
--- /dev/null
@@ -0,0 +1,31 @@
+SECTIONS
+{
+.bss :
+{
+*(.bss)
+end = .;
+}
+. = 0x1000;
+.got : { *(.got.plt) *(.got) }
+.text :
+{
+*(.text)
+}
+. = 0x8ff5;
+.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
+.data :
+{
+*(.data)
+}
+edata = .;
+.stac :
+{
+*(.stack)
+}
+.plt  :  { *(.plt) }
+.rela.plt : { *(.rela.plt) }
+.rela.dyn :
+{
+*(.rela.text)
+}
+}
index edb1470db57fd074c253157e1c1fdb27c25da16a..617ad8a5761ad838c765161cbe6f5b0788b3aed9 100644 (file)
@@ -95,6 +95,14 @@ set mn10300_tests {
        { {objdump -d i135409-5.d} }
        "i135409-5.x"
     }
+    {
+       "relaxing offsets into a merged string section"
+       "-Ti143317.t -shared -relax"
+       ""
+       { "i143317.s" }
+       { {objdump -d i143317.d} }
+       "i143317.x"
+    }
 }
 
 run_ld_link_tests $mn10300_tests