diff options
-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 abbe043..a97bd42 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 ea5002f..0f92d97 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 0000000..616836d --- /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 0000000..f399acd --- /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 0000000..abaaaa6 --- /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 0000000..db27d76 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr14962b.s @@ -0,0 +1,4 @@ + .data + .globl x +x: + .dc.a x |