Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > e68a8b094c02f1a409c9495e4d4a1d25 > files > 13

binutils-2.40-11.mga9.src.rpm

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] 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(-)

diff --git a/gas/expr.c b/gas/expr.c
index 28ec58c421bc..ec51bda1aa90 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 9cffa93e22bd..d943bb878875 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 a90e1160dd8e..342011e01775 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)
-- 
2.39.1