mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-12-19 01:19:41 +08:00
gas: support double-slash line comments in BPF assembly
This patch makes the BPF assembler to support double-slash line comments, like the llvm BPF assembler does. At this point both assemblers support the same commenting styles: - Line comments preceded by # or //. - Non-nestable block comments delimited by /* and */. This patch also adds a couple of tests to make sure all the comment styles work in both normal and pseudoc syntax. The manual is also updated to mention double-slash line comments.
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
2023-11-30 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||
|
||||
* config/tc-bpf.h (DOUBLESLASH_LINE_COMMENTS): Define.
|
||||
* testsuite/gas/bpf/comments.s: New file.
|
||||
* testsuite/gas/bpf/comments.d: Likewise.
|
||||
* testsuite/gas/bpf/comments-pseudoc.d: Likewise.
|
||||
* testsuite/gas/bpf/comments-pseudoc.s: Likewise.
|
||||
* testsuite/gas/bpf/bpf.exp: Run comments and comments-pseudoc.
|
||||
* doc/c-bpf.texi (BPF Special Characters): Document // comments.
|
||||
* NEWS: Update.
|
||||
|
||||
2023-11-28 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||
|
||||
* NEWS: Add entry about change of comment syntax in the BPF
|
||||
|
||||
3
gas/NEWS
3
gas/NEWS
@@ -41,6 +41,9 @@
|
||||
therefore they cannot longer be used to begin line comments. This matches the
|
||||
behavior of the clang/LLVM BPF assembler.
|
||||
|
||||
* The BPF assembler now allows using both hash (#) and double slash (//) to
|
||||
begin line comments.
|
||||
|
||||
Changes in 2.41:
|
||||
|
||||
* Add support for the KVX instruction set.
|
||||
|
||||
@@ -35,6 +35,9 @@
|
||||
#define TARGET_BYTES_BIG_ENDIAN 0
|
||||
#endif
|
||||
|
||||
/* Permit // comments. */
|
||||
#define DOUBLESLASH_LINE_COMMENTS 1
|
||||
|
||||
/* .-foo gets turned into PC relative relocs. */
|
||||
#define DIFF_EXPR_OK 1
|
||||
|
||||
|
||||
@@ -68,8 +68,8 @@ the host endianness is used.
|
||||
|
||||
@cindex line comment character, BPF
|
||||
@cindex BPF line comment character
|
||||
The presence of a @samp{#} on a line indicates the start of a comment
|
||||
that extends to the end of the current line.
|
||||
The presence of a @samp{#} or @samp{//} anywhere on a line indicates
|
||||
the start of a comment that extends to the end of the line.
|
||||
|
||||
@cindex block comments, BPF
|
||||
@cindex BPF block comments
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
if {[istarget bpf*-*-*]} {
|
||||
# Misc tests.
|
||||
run_dump_test comments
|
||||
run_dump_test comments-pseudoc
|
||||
|
||||
# Little-endian BPF tests
|
||||
run_dump_test call
|
||||
run_dump_test exit
|
||||
|
||||
12
gas/testsuite/gas/bpf/comments-pseudoc.d
Normal file
12
gas/testsuite/gas/bpf/comments-pseudoc.d
Normal file
@@ -0,0 +1,12 @@
|
||||
#as: -EL -mdialect=pseudoc
|
||||
#objdump: -dr -M hex
|
||||
#name: BPF assembler comments - pseudoc
|
||||
|
||||
.*: +file format .*bpf.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
[0-9a-f]+ <.*>:
|
||||
0: 07 02 00 00 9a 02 00 00 add %r2,0x29a
|
||||
8: 07 03 00 00 66 fd ff ff add %r3,0xfffffd66
|
||||
10: 07 04 00 00 ef be ad 7e add %r4,0x7eadbeef
|
||||
5
gas/testsuite/gas/bpf/comments-pseudoc.s
Normal file
5
gas/testsuite/gas/bpf/comments-pseudoc.s
Normal file
@@ -0,0 +1,5 @@
|
||||
# This is a comment
|
||||
r2 += 666 # This is also a comment
|
||||
r3 += -666 /* So is
|
||||
this */
|
||||
r4 += 0x7eadbeef // And this
|
||||
12
gas/testsuite/gas/bpf/comments.d
Normal file
12
gas/testsuite/gas/bpf/comments.d
Normal file
@@ -0,0 +1,12 @@
|
||||
#as: -EL -mdialect=normal
|
||||
#objdump: -dr -M hex
|
||||
#name: BPF assembler comments
|
||||
|
||||
.*: +file format .*bpf.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
[0-9a-f]+ <.*>:
|
||||
0: 07 02 00 00 9a 02 00 00 add %r2,0x29a
|
||||
8: 07 03 00 00 66 fd ff ff add %r3,0xfffffd66
|
||||
10: 07 04 00 00 ef be ad 7e add %r4,0x7eadbeef
|
||||
5
gas/testsuite/gas/bpf/comments.s
Normal file
5
gas/testsuite/gas/bpf/comments.s
Normal file
@@ -0,0 +1,5 @@
|
||||
# This is a comment
|
||||
add %r2, 666 # This is also a comment
|
||||
add %r3, -666 /* So is
|
||||
this */
|
||||
add %r4, 0x7eadbeef // And this
|
||||
Reference in New Issue
Block a user