From: Jan Beulich Date: Tue, 14 Feb 2023 07:35:02 +0000 (+0100) Subject: gas: correct symbol name comparison in .startof./.sizeof. handling X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=12ef68305572ed139825be827b2bb1d1aef3ca25;p=binutils-gdb.git gas: correct symbol name comparison in .startof./.sizeof. handling In 162c6aef1f3a ("gas: fold symbol table entries generated for .startof.() / .sizeof.()") I screwed up quite badly, inverting the case sensitive and case insensitive comparison functions. --- diff --git a/gas/expr.c b/gas/expr.c index 78900b50e46..ae24c281ba6 100644 --- a/gas/expr.c +++ b/gas/expr.c @@ -149,8 +149,8 @@ symbol_lookup_or_make (const char *name, bool start) name = S_GET_NAME (symbolP); if ((symbols_case_sensitive - ? strcasecmp (buf, name) - : strcmp (buf, name)) == 0) + ? strcmp (buf, name) + : strcasecmp (buf, name)) == 0) { free (buf); return symbolP; diff --git a/gas/testsuite/gas/elf/startof.d b/gas/testsuite/gas/elf/startof.d index 9cffa93e22b..d943bb87887 100644 --- a/gas/testsuite/gas/elf/startof.d +++ b/gas/testsuite/gas/elf/startof.d @@ -7,4 +7,6 @@ Symbol table .* #... [1-8]: 0+ .* UND \.startof\.\.text [2-9]: 0+ .* UND \.sizeof\.\.text + +[1-9][0-9]*: 0+ .* UND \.startof\.\.Text + +[1-9][0-9]*: 0+ .* UND \.sizeof\.\.TEXT #pass diff --git a/gas/testsuite/gas/elf/startof.s b/gas/testsuite/gas/elf/startof.s index a90e1160dd8..342011e0177 100644 --- a/gas/testsuite/gas/elf/startof.s +++ b/gas/testsuite/gas/elf/startof.s @@ -4,3 +4,6 @@ .dc.a 0 .dc.a .sizeof.(.text) .dc.a .startof.(.text) + .dc.a 0 + .dc.a .startof.(.Text) + .dc.a .sizeof.(.TEXT)