From 4467df35a93e4c8e5ff7549e8d23324c64f527bd Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 5 May 2021 20:28:39 -0700 Subject: elf: Always append ".COUNT" to local symbols Always append ".COUNT" to local symbols to avoid potential conflicts with existing local symbol "XXX.COUNT". bfd/ PR ld/27825 * elflink.c (elf_link_output_symstrtab): Always append ".COUNT" to local symbols. ld/ PR ld/27825 * testsuite/ld-elf/pr27825-1.d: New file. * testsuite/ld-elf/pr27825-1a.s: Likewise. * testsuite/ld-elf/pr27825-1b.s: Likewise. * testsuite/ld-elf/pr27825-2.d: Likewise. * testsuite/ld-elf/pr27825-2a.s: Likewise. * testsuite/ld-elf/pr27825-2b.s: Likewise. --- ld/ChangeLog | 10 ++++++++++ ld/testsuite/ld-elf/pr26391.nd | 2 +- ld/testsuite/ld-elf/pr27825-1.d | 21 +++++++++++++++++++++ ld/testsuite/ld-elf/pr27825-1a.s | 7 +++++++ ld/testsuite/ld-elf/pr27825-1b.s | 5 +++++ ld/testsuite/ld-elf/pr27825-2.d | 18 ++++++++++++++++++ ld/testsuite/ld-elf/pr27825-2a.s | 5 +++++ ld/testsuite/ld-elf/pr27825-2b.s | 3 +++ ld/testsuite/ld-elf/pr27825-2c.s | 4 ++++ 9 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 ld/testsuite/ld-elf/pr27825-1.d create mode 100644 ld/testsuite/ld-elf/pr27825-1a.s create mode 100644 ld/testsuite/ld-elf/pr27825-1b.s create mode 100644 ld/testsuite/ld-elf/pr27825-2.d create mode 100644 ld/testsuite/ld-elf/pr27825-2a.s create mode 100644 ld/testsuite/ld-elf/pr27825-2b.s create mode 100644 ld/testsuite/ld-elf/pr27825-2c.s (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index 5262938..0c7c759 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +2021-05-05 H.J. Lu + + PR ld/27825 + * testsuite/ld-elf/pr27825-1.d: New file. + * testsuite/ld-elf/pr27825-1a.s: Likewise. + * testsuite/ld-elf/pr27825-1b.s: Likewise. + * testsuite/ld-elf/pr27825-2.d: Likewise. + * testsuite/ld-elf/pr27825-2a.s: Likewise. + * testsuite/ld-elf/pr27825-2b.s: Likewise. + 2021-05-05 Alan Modra * testsuite/ld-powerpc/empty.s: New file. diff --git a/ld/testsuite/ld-elf/pr26391.nd b/ld/testsuite/ld-elf/pr26391.nd index d01f338..07bfd7f 100644 --- a/ld/testsuite/ld-elf/pr26391.nd +++ b/ld/testsuite/ld-elf/pr26391.nd @@ -1,5 +1,5 @@ #... -[0-9a-z]+ [td] _?bar +[0-9a-z]+ [td] _?bar.0 #... [0-9a-z]+ [td] _?bar.1 #... diff --git a/ld/testsuite/ld-elf/pr27825-1.d b/ld/testsuite/ld-elf/pr27825-1.d new file mode 100644 index 0000000..c9b1b92 --- /dev/null +++ b/ld/testsuite/ld-elf/pr27825-1.d @@ -0,0 +1,21 @@ +#source: pr27825-1a.s +#source: pr27825-1b.s +#ld: -e _start --emit-relocs -z unique-symbol +#nm: --defined-only +#xfail: [is_generic] +#xfail: fr30-*-* frv-*-* ft32-*-* iq2000-*-* mn10200-*-* msp*-* mt-*-* +# These targets don't support -z. + +#... +[0-9a-f]+ t bar.0 +#... +[0-9a-f]+ t bar.1 +#... +[0-9a-f]+ t bar.1.0 +#... +[0-9a-f]+ t bar.1.1 +#... +[0-9a-f]+ t bar.2.0 +#... +[0-9a-f]+ t bar.2.1 +#pass diff --git a/ld/testsuite/ld-elf/pr27825-1a.s b/ld/testsuite/ld-elf/pr27825-1a.s new file mode 100644 index 0000000..e6940e1 --- /dev/null +++ b/ld/testsuite/ld-elf/pr27825-1a.s @@ -0,0 +1,7 @@ + .text + .globl _start +_start: +bar: +bar.1: +bar.2: + .nop diff --git a/ld/testsuite/ld-elf/pr27825-1b.s b/ld/testsuite/ld-elf/pr27825-1b.s new file mode 100644 index 0000000..2128e80 --- /dev/null +++ b/ld/testsuite/ld-elf/pr27825-1b.s @@ -0,0 +1,5 @@ + .text +bar: +bar.1: +bar.2: + .nop diff --git a/ld/testsuite/ld-elf/pr27825-2.d b/ld/testsuite/ld-elf/pr27825-2.d new file mode 100644 index 0000000..12a1863 --- /dev/null +++ b/ld/testsuite/ld-elf/pr27825-2.d @@ -0,0 +1,18 @@ +#source: pr27825-2a.s +#source: pr27825-2b.s +#source: pr27825-2c.s +#ld: -e _start --emit-relocs -z unique-symbol +#nm: --defined-only +#xfail: [is_generic] +#xfail: fr30-*-* frv-*-* ft32-*-* iq2000-*-* mn10200-*-* msp*-* mt-*-* +# These targets don't support -z. + +#... +[0-9a-f]+ t bar.0 +#... +[0-9a-f]+ t bar.1 +#... +[0-9a-f]+ t bar.1.0 +#... +[0-9a-f]+ t bar.2.0 +#pass diff --git a/ld/testsuite/ld-elf/pr27825-2a.s b/ld/testsuite/ld-elf/pr27825-2a.s new file mode 100644 index 0000000..40fc05b --- /dev/null +++ b/ld/testsuite/ld-elf/pr27825-2a.s @@ -0,0 +1,5 @@ + .text + .globl _start +_start: +bar: + .nop diff --git a/ld/testsuite/ld-elf/pr27825-2b.s b/ld/testsuite/ld-elf/pr27825-2b.s new file mode 100644 index 0000000..9e6f96a --- /dev/null +++ b/ld/testsuite/ld-elf/pr27825-2b.s @@ -0,0 +1,3 @@ + .text +bar: + .nop diff --git a/ld/testsuite/ld-elf/pr27825-2c.s b/ld/testsuite/ld-elf/pr27825-2c.s new file mode 100644 index 0000000..762f886 --- /dev/null +++ b/ld/testsuite/ld-elf/pr27825-2c.s @@ -0,0 +1,4 @@ + .text +bar.1: +bar.2: + .nop -- cgit v1.1