[PATCH] bpf: accept # as an inline comment char
Jose E. Marchesi
jose.marchesi@oracle.com
Tue Jul 25 23:36:27 GMT 2023
> On 7/25/23 15:58, Jose E. Marchesi wrote:
>>
>>> On 7/25/23 13:56, Jose E. Marchesi wrote:
>>>>
>>>>> This little patch makes the BPF assembler accept '#' as an inline
>>>>> comment character, which clang -S seems to use.
>>>>>
>>>>> Tested on bpf-unknown-none.
>>>>> OK?
>>>>>
>>>>> gas/
>>>>> * config/tc-bpf.c (comment_chars): Add '#'.
>>>>> * doc/c-bpf.texi (BPF Special Characters): Add note that '#' may
>>>>> be used for inline comments.
>>>>> ---
>>>>> gas/config/tc-bpf.c | 2 +-
>>>>> gas/doc/c-bpf.texi | 7 ++++---
>>>>> 2 files changed, 5 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/gas/config/tc-bpf.c b/gas/config/tc-bpf.c
>>>>> index c56b8fe984f..56c434c223d 100644
>>>>> --- a/gas/config/tc-bpf.c
>>>>> +++ b/gas/config/tc-bpf.c
>>>>> @@ -53,7 +53,7 @@ struct bpf_insn
>>>>> unsigned int has_imm64 : 1;
>>>>> };
>>>>>
>>>>> -const char comment_chars[] = ";";
>>>>> +const char comment_chars[] = ";#";
>>>>> const char line_comment_chars[] = "#";
>>>>> const char line_separator_chars[] = "`";
>>>>> const char EXP_CHARS[] = "eE";
>>>>> diff --git a/gas/doc/c-bpf.texi b/gas/doc/c-bpf.texi
>>>>> index 8f39ab314a7..597b3b30b30 100644
>>>>> --- a/gas/doc/c-bpf.texi
>>>>> +++ b/gas/doc/c-bpf.texi
>>>>> @@ -64,9 +64,10 @@ 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. If a @samp{#} appears as
>>>>> -the first character of a line, the whole line is treated as a comment.
>>>>> +The presence of a @samp{;} or a @samp{#} on a line indicates the start
>>>>> +of a comment that extends to the end of the current line. If a
>>>>> +@samp{#} appears as the first character of a line, the whole line is
>>>>> +treated as a comment.
>>>>
>>>> Hm, isnt' this second sentence a quite obvious corollary now? :)
>>>
>>> Well, yes I suppose so.. :)
>>>
>>> I left it in because I did not touch (nor look further at):
>>>
>>> const char line_comment_chars[] = "#";
>>>
>>> which was what the sentence documented.
>>> I agree it doesn't add much anymore though, shall I remove it?
>>
>> Hm, not sure. Try if it makes a difference in practice...
>
> Yeah, it causes build failures if totally removed and failures
> in gas/macros/macros.exp if left blank. Best to leave it.
>
> Here's a v2 with just the redundant sentence in the manual removed.
OK for master.
Thanks!
> This little patch makes the BPF assembler accept '#' as an inline
> comment character, which clang -S seems to use.
>
> gas/
> * config/tc-bpf.c (comment_chars): Add '#'.
> * doc/c-bpf.texi (BPF Special Characters): Add note that '#' may
> be used for inline comments.
> ---
> gas/config/tc-bpf.c | 2 +-
> gas/doc/c-bpf.texi | 5 ++---
> 2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/gas/config/tc-bpf.c b/gas/config/tc-bpf.c
> index c56b8fe984f..56c434c223d 100644
> --- a/gas/config/tc-bpf.c
> +++ b/gas/config/tc-bpf.c
> @@ -53,7 +53,7 @@ struct bpf_insn
> unsigned int has_imm64 : 1;
> };
>
> -const char comment_chars[] = ";";
> +const char comment_chars[] = ";#";
> const char line_comment_chars[] = "#";
> const char line_separator_chars[] = "`";
> const char EXP_CHARS[] = "eE";
> diff --git a/gas/doc/c-bpf.texi b/gas/doc/c-bpf.texi
> index 8f39ab314a7..3fde0e6b613 100644
> --- a/gas/doc/c-bpf.texi
> +++ b/gas/doc/c-bpf.texi
> @@ -64,9 +64,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. If a @samp{#} appears as
> -the first character of a line, the whole line is treated as a comment.
> +The presence of a @samp{;} or a @samp{#} on a line indicates the start
> +of a comment that extends to the end of the current line.
>
> @cindex statement separator, BPF
> Statements and assembly directives are separated by newlines.
More information about the Binutils
mailing list