arm: don't engage symver scrubber hack in CCS mode

In that mode the comment char is ; while @ has no special meaning.
Engaging the special logic in that case results in comments not being
respected on .symver lines.
This commit is contained in:
Jan Beulich 2024-09-11 13:55:01 +02:00
parent 6170a088a6
commit 9135fac423
3 changed files with 20 additions and 1 deletions

View File

@ -805,7 +805,9 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
in this function. */
if (symver_state == NULL)
{
if ((state == 0 || state == 1) && ch == symver_pseudo[0])
if ((state == 0 || state == 1)
&& strchr (tc_comment_chars, '@') != NULL
&& ch == symver_pseudo[0])
symver_state = symver_pseudo + 1;
}
else

View File

@ -0,0 +1,10 @@
#name: .symver in CCS mode
#as: -mccs
#readelf: -sW
# This test is only valid on ELF based ports.
#notarget: *-*-pe *-*-wince
#...
+[0-9]+: +0+ +1 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +foo
+[0-9]+: +0+ +1 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +foo@version1
#pass

View File

@ -0,0 +1,7 @@
.data
.globl foo
.type foo,@object
foo:
.byte 0
.size foo,.-foo
.symver foo,foo@version1;remove