diff options
Diffstat (limited to 'toolchain/binutils/patches/2.40/046-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch')
-rw-r--r-- | toolchain/binutils/patches/2.40/046-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/toolchain/binutils/patches/2.40/046-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch b/toolchain/binutils/patches/2.40/046-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch new file mode 100644 index 0000000000..4e31bb43ed --- /dev/null +++ b/toolchain/binutils/patches/2.40/046-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch @@ -0,0 +1,46 @@ +From b2bc62b7b4e7638c3a249d2d2728ceb4d5f2b22c Mon Sep 17 00:00:00 2001 +From: Jan Beulich <jbeulich@suse.com> +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) |