diff options
author | Alan Modra <amodra@gmail.com> | 2012-12-18 13:38:10 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-12-18 13:38:10 +0000 |
commit | 8d708c8cad07b1d961c7d0a30040116d79134e92 (patch) | |
tree | 58b50117f0f7fe9f9e31f4d7cadf71bf5b03a3c5 /ld | |
parent | * elf.c (swap_out_syms): Set shndx to SHN_ABS when not one of (diff) | |
download | binutils-gdb-8d708c8cad07b1d961c7d0a30040116d79134e92.tar.gz binutils-gdb-8d708c8cad07b1d961c7d0a30040116d79134e92.tar.bz2 binutils-gdb-8d708c8cad07b1d961c7d0a30040116d79134e92.zip |
PR ld/14962
* ld-scripts/pr14962.d, * ld-scripts/pr14962.t,
* ld-scripts/pr14962a.s, * ld-scripts/pr14962b.s: New test.
* ld-scripts/expr.exp: Run it.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/expr.exp | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/pr14962.d | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/pr14962.t | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/pr14962a.s | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/pr14962b.s | 4 |
6 files changed, 41 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index abbe043cb93..a97bd4214a8 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2012-12-19 Alan Modra <amodra@gmail.com> + + PR ld/14962 + * ld-scripts/pr14962.d, * ld-scripts/pr14962.t, + * ld-scripts/pr14962a.s, * ld-scripts/pr14962b.s: New test. + * ld-scripts/expr.exp: Run it. + 2012-12-17 Roland McGrath <mcgrathr@google.com> * ld-elf/elf.exp (stack exec, stack size): Run for *-*-nacl* targets. diff --git a/ld/testsuite/ld-scripts/expr.exp b/ld/testsuite/ld-scripts/expr.exp index ea5002f9b35..0f92d979e43 100644 --- a/ld/testsuite/ld-scripts/expr.exp +++ b/ld/testsuite/ld-scripts/expr.exp @@ -24,3 +24,4 @@ run_dump_test expr1 run_dump_test expr2 run_dump_test sane1 run_dump_test assign-loc +run_dump_test pr14962 diff --git a/ld/testsuite/ld-scripts/pr14962.d b/ld/testsuite/ld-scripts/pr14962.d new file mode 100644 index 00000000000..616836d3a8f --- /dev/null +++ b/ld/testsuite/ld-scripts/pr14962.d @@ -0,0 +1,11 @@ +#ld: -Ttext=0x1000 -Tdata=0x2000 -T pr14962.t +#source: pr14962a.s +#source: pr14962b.s +#nm: -n +#notarget: rx-*-* +# the reference to x would normally generate a cross-reference error +# but the linker script converts x to absolute to avoid the error + +#... +0+2000 A x +#pass diff --git a/ld/testsuite/ld-scripts/pr14962.t b/ld/testsuite/ld-scripts/pr14962.t new file mode 100644 index 00000000000..f399acdcef9 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr14962.t @@ -0,0 +1,8 @@ +NOCROSSREFS ( .text .data ) +x = ABSOLUTE(x); +SECTIONS +{ + .text : { *(.text) } + .data : { *(.data) } + /DISCARD/ : { *(*) } +} diff --git a/ld/testsuite/ld-scripts/pr14962a.s b/ld/testsuite/ld-scripts/pr14962a.s new file mode 100644 index 00000000000..abaaaa691d2 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr14962a.s @@ -0,0 +1,10 @@ + .globl main + .globl start + .globl _start + .globl __start + .text +main: +start: +_start: +__start: + .dc.a x diff --git a/ld/testsuite/ld-scripts/pr14962b.s b/ld/testsuite/ld-scripts/pr14962b.s new file mode 100644 index 00000000000..db27d7601e3 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr14962b.s @@ -0,0 +1,4 @@ + .data + .globl x +x: + .dc.a x |