From: Jan Beulich Date: Wed, 11 Sep 2024 11:55:01 +0000 (+0200) Subject: arm: don't engage symver scrubber hack in CCS mode X-Git-Tag: gdb-16-branchpoint~924 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9135fac423c2ddd475b39c9e8ba647c202d72859;p=thirdparty%2Fbinutils-gdb.git 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. --- diff --git a/gas/app.c b/gas/app.c index 41ba4163a2a..bca3c3e8146 100644 --- a/gas/app.c +++ b/gas/app.c @@ -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 diff --git a/gas/testsuite/gas/arm/ccs-symver.d b/gas/testsuite/gas/arm/ccs-symver.d new file mode 100644 index 00000000000..c1255abdcb4 --- /dev/null +++ b/gas/testsuite/gas/arm/ccs-symver.d @@ -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 diff --git a/gas/testsuite/gas/arm/ccs-symver.s b/gas/testsuite/gas/arm/ccs-symver.s new file mode 100644 index 00000000000..00a96f5dc90 --- /dev/null +++ b/gas/testsuite/gas/arm/ccs-symver.s @@ -0,0 +1,7 @@ + .data + .globl foo + .type foo,@object +foo: + .byte 0 + .size foo,.-foo + .symver foo,foo@version1;remove