diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/linkonce1.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/linkonce1a.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/linkonce1b.s | 17 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/linkonce2.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/i386.exp | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/pcrel16abs.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/pcrel16abs.s | 6 |
8 files changed, 74 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 9493773..82c0bc9 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2007-03-07 H.J. Lu <hongjiu.lu@intel.com> + + PR 3958 + * ld-elf/linkonce1.d: New. + * ld-elf/linkonce1a.s: New. + * ld-elf/linkonce1b.s: New. + * ld-elf/linkonce2.d: New. + * ld-i386/pcrel16abs.d: New. + * ld-i386/pcrel16abs.s: New. + * ld-i386/i386.exp: Run it. + 2007-03-06 H.J. Lu <hongjiu.lu@intel.com> PR ld/4144 diff --git a/ld/testsuite/ld-elf/linkonce1.d b/ld/testsuite/ld-elf/linkonce1.d new file mode 100644 index 0000000..35e1787 --- /dev/null +++ b/ld/testsuite/ld-elf/linkonce1.d @@ -0,0 +1,12 @@ +#source: linkonce1a.s +#source: linkonce1b.s +#ld: -r +#objdump: -r + +.*: file format .* + +RELOCATION RECORDS FOR \[.debug_frame\]: +OFFSET[ ]+TYPE[ ]+VALUE[ ]* +.*(NONE|unused).*\*ABS\* + +#pass diff --git a/ld/testsuite/ld-elf/linkonce1a.s b/ld/testsuite/ld-elf/linkonce1a.s new file mode 100644 index 0000000..5c2d8c2 --- /dev/null +++ b/ld/testsuite/ld-elf/linkonce1a.s @@ -0,0 +1,3 @@ + .section .gnu.linkonce.d.dummy,"aw" +bar: + .long 0 diff --git a/ld/testsuite/ld-elf/linkonce1b.s b/ld/testsuite/ld-elf/linkonce1b.s new file mode 100644 index 0000000..fd45cec --- /dev/null +++ b/ld/testsuite/ld-elf/linkonce1b.s @@ -0,0 +1,17 @@ + .globl main + .globl start + .globl _start + .globl __start + .text +main: +start: +_start: +__start: + .long 0 + + .section .gnu.linkonce.d.dummy,"aw" + .long 0 +foo: + .long 0 + .section .debug_frame,"",%progbits + .long foo diff --git a/ld/testsuite/ld-elf/linkonce2.d b/ld/testsuite/ld-elf/linkonce2.d new file mode 100644 index 0000000..33eb14f --- /dev/null +++ b/ld/testsuite/ld-elf/linkonce2.d @@ -0,0 +1,12 @@ +#source: linkonce1a.s +#source: linkonce1b.s +#ld: -emit-relocs +#objdump: -r + +.*: file format .* + +RELOCATION RECORDS FOR \[.debug_frame\]: +OFFSET[ ]+TYPE[ ]+VALUE[ ]* +.*(NONE|unused).*\*ABS\* + +#pass diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index ad8a610..d0d4cad 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -113,3 +113,4 @@ run_ld_link_tests $i386tests run_dump_test "abs" run_dump_test "pcrel8" run_dump_test "pcrel16" +run_dump_test "pcrel16abs" diff --git a/ld/testsuite/ld-i386/pcrel16abs.d b/ld/testsuite/ld-i386/pcrel16abs.d new file mode 100644 index 0000000..f4bfca5 --- /dev/null +++ b/ld/testsuite/ld-i386/pcrel16abs.d @@ -0,0 +1,12 @@ +#name: PCREL16 absolute reloc +#as: --32 +#ld: -melf_i386 -Ttext 0xfffffff0 +#objdump: -drj.text -m i8086 + +.*: +file format elf32-i386 + +Disassembly of section .text: + +f+0 <_start>: +f+0: e9 0d e0[ ]+jmp[ ]+ffffe000 <SEGMENT_SIZE\+0xfffee000> +#pass diff --git a/ld/testsuite/ld-i386/pcrel16abs.s b/ld/testsuite/ld-i386/pcrel16abs.s new file mode 100644 index 0000000..4bf68a7 --- /dev/null +++ b/ld/testsuite/ld-i386/pcrel16abs.s @@ -0,0 +1,6 @@ +SEGMENT_SIZE = 0x10000 +RVECTOR = 0x00010 +.code16 + .globl _start +_start: + jmp SEGMENT_SIZE-(0x1f00 +0xf0 +RVECTOR) |