From b2bc62b7b4e7638c3a249d2d2728ceb4d5f2b22c Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 14 Feb 2023 08:35:02 +0100 Subject: [PATCH 46/50] 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. --- gas/expr.c | 4 ++-- gas/testsuite/gas/elf/startof.d | 2 ++ gas/testsuite/gas/elf/startof.s | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) --- a/gas/expr.c +++ b/gas/expr.c @@ -149,8 +149,8 @@ symbol_lookup_or_make (const char *name, 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; --- 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 --- 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)