* [COMMITTED] gas: support double-slash line comments in BPF assembly
@ 2023-11-30 7:50 Jose E. Marchesi
0 siblings, 0 replies; only message in thread
From: Jose E. Marchesi @ 2023-11-30 7:50 UTC (permalink / raw)
To: binutils
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.
---
gas/ChangeLog | 11 +++++++++++
gas/NEWS | 3 +++
gas/config/tc-bpf.h | 3 +++
gas/doc/c-bpf.texi | 4 ++--
gas/testsuite/gas/bpf/bpf.exp | 4 ++++
| 12 ++++++++++++
| 5 +++++
| 12 ++++++++++++
| 5 +++++
9 files changed, 57 insertions(+), 2 deletions(-)
create mode 100644 gas/testsuite/gas/bpf/comments-pseudoc.d
create mode 100644 gas/testsuite/gas/bpf/comments-pseudoc.s
create mode 100644 gas/testsuite/gas/bpf/comments.d
create mode 100644 gas/testsuite/gas/bpf/comments.s
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3d5cfcae58c..b1a568cc334 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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
diff --git a/gas/NEWS b/gas/NEWS
index 6bfab08c5b8..143d9c836e5 100644
--- a/gas/NEWS
+++ b/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.
diff --git a/gas/config/tc-bpf.h b/gas/config/tc-bpf.h
index 06096ef5926..91f3c1574b1 100644
--- a/gas/config/tc-bpf.h
+++ b/gas/config/tc-bpf.h
@@ -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
diff --git a/gas/doc/c-bpf.texi b/gas/doc/c-bpf.texi
index 7ff07e91764..307d28be942 100644
--- a/gas/doc/c-bpf.texi
+++ b/gas/doc/c-bpf.texi
@@ -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
diff --git a/gas/testsuite/gas/bpf/bpf.exp b/gas/testsuite/gas/bpf/bpf.exp
index 5bcd8c483a0..5048693cec8 100644
--- a/gas/testsuite/gas/bpf/bpf.exp
+++ b/gas/testsuite/gas/bpf/bpf.exp
@@ -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
--git a/gas/testsuite/gas/bpf/comments-pseudoc.d b/gas/testsuite/gas/bpf/comments-pseudoc.d
new file mode 100644
index 00000000000..6fc68e01e86
--- /dev/null
+++ b/gas/testsuite/gas/bpf/comments-pseudoc.d
@@ -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
--git a/gas/testsuite/gas/bpf/comments-pseudoc.s b/gas/testsuite/gas/bpf/comments-pseudoc.s
new file mode 100644
index 00000000000..e64c46c2e6f
--- /dev/null
+++ b/gas/testsuite/gas/bpf/comments-pseudoc.s
@@ -0,0 +1,5 @@
+# This is a comment
+ r2 += 666 # This is also a comment
+ r3 += -666 /* So is
+this */
+ r4 += 0x7eadbeef // And this
--git a/gas/testsuite/gas/bpf/comments.d b/gas/testsuite/gas/bpf/comments.d
new file mode 100644
index 00000000000..49711a3f07a
--- /dev/null
+++ b/gas/testsuite/gas/bpf/comments.d
@@ -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
--git a/gas/testsuite/gas/bpf/comments.s b/gas/testsuite/gas/bpf/comments.s
new file mode 100644
index 00000000000..d06fb4f9e54
--- /dev/null
+++ b/gas/testsuite/gas/bpf/comments.s
@@ -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
--
2.30.2
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-11-30 7:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-30 7:50 [COMMITTED] gas: support double-slash line comments in BPF assembly Jose E. Marchesi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).