From ad0f979c9df2cc3fba1f120c5e7f39e35591ed07 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 29 Jan 2019 06:07:42 -0800 Subject: [PATCH] Add a testcase for PR ld/24008 PR ld/24008 * testsuite/ld-scripts/defined.exp: Run pr24008. * testsuite/ld-scripts/pr24008.d: New file. * testsuite/ld-scripts/pr24008.map: Likewise. * testsuite/ld-scripts/pr24008.s: Likewise. * testsuite/ld-scripts/pr24008.t: Likewise. --- ld/ChangeLog | 9 +++++++++ ld/testsuite/ld-scripts/defined.exp | 1 + ld/testsuite/ld-scripts/pr24008.d | 8 ++++++++ ld/testsuite/ld-scripts/pr24008.map | 7 +++++++ ld/testsuite/ld-scripts/pr24008.s | 2 ++ ld/testsuite/ld-scripts/pr24008.t | 8 ++++++++ 6 files changed, 35 insertions(+) create mode 100644 ld/testsuite/ld-scripts/pr24008.d create mode 100644 ld/testsuite/ld-scripts/pr24008.map create mode 100644 ld/testsuite/ld-scripts/pr24008.s create mode 100644 ld/testsuite/ld-scripts/pr24008.t diff --git a/ld/ChangeLog b/ld/ChangeLog index 2e3e7df01d..dc99b16151 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +2019-01-29 H.J. Lu + + PR ld/24008 + * testsuite/ld-scripts/defined.exp: Run pr24008. + * testsuite/ld-scripts/pr24008.d: New file. + * testsuite/ld-scripts/pr24008.map: Likewise. + * testsuite/ld-scripts/pr24008.s: Likewise. + * testsuite/ld-scripts/pr24008.t: Likewise. + 2019-01-29 Eric Botcazou * testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC. diff --git a/ld/testsuite/ld-scripts/defined.exp b/ld/testsuite/ld-scripts/defined.exp index 21590e2955..d98e30757d 100644 --- a/ld/testsuite/ld-scripts/defined.exp +++ b/ld/testsuite/ld-scripts/defined.exp @@ -79,5 +79,6 @@ if ![is_aout_format] { if [is_elf_format] { run_dump_test "defined6" } +run_dump_test "pr24008" set LDFLAGS "$saved_LDFLAGS" set ASFLAGS "$saved_ASFLAGS" diff --git a/ld/testsuite/ld-scripts/pr24008.d b/ld/testsuite/ld-scripts/pr24008.d new file mode 100644 index 0000000000..3938d4fa39 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr24008.d @@ -0,0 +1,8 @@ +#ld: -T pr24008.t -Map tmpdir/pr24008.map +#nm: -B +#map: pr24008.map + +#... +0+42 A defined +0+42 A sym1 +0+43 A sym2 diff --git a/ld/testsuite/ld-scripts/pr24008.map b/ld/testsuite/ld-scripts/pr24008.map new file mode 100644 index 0000000000..c33194085d --- /dev/null +++ b/ld/testsuite/ld-scripts/pr24008.map @@ -0,0 +1,7 @@ +#... +Linker script and memory map +#... + 0x0+42 +sym1 = 0x42 + 0x0+43 +sym2 = 0x43 + 0x0+42 +defined = DEFINED \(sym1\)\?sym1:sym2 +#... diff --git a/ld/testsuite/ld-scripts/pr24008.s b/ld/testsuite/ld-scripts/pr24008.s new file mode 100644 index 0000000000..328ba7453e --- /dev/null +++ b/ld/testsuite/ld-scripts/pr24008.s @@ -0,0 +1,2 @@ + .text + .byte 0 diff --git a/ld/testsuite/ld-scripts/pr24008.t b/ld/testsuite/ld-scripts/pr24008.t new file mode 100644 index 0000000000..902088e284 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr24008.t @@ -0,0 +1,8 @@ +SECTIONS { + .text : { *(.text) } + .data : { *(.data) } + .bss : { *(.bss) *(COMMON) } +} +sym1 = 0x42; +sym2 = 0x43; +defined = DEFINED (sym1) ? sym1 : sym2;