From: "Jose E. Marchesi" <jose.marchesi@oracle.com>
To: Eduard Zingerman <eddyz87@gmail.com>
Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>,
Yonghong Song <yhs@meta.com>, bpf <bpf@vger.kernel.org>,
James Hilliard <james.hilliard1@gmail.com>,
gmartinezq07@gmail.com
Subject: Re: Support for the pseudo-C BPF assembler syntax in GAS
Date: Thu, 27 Apr 2023 18:35:09 +0200 [thread overview]
Message-ID: <87354l7076.fsf@oracle.com> (raw)
In-Reply-To: <10266b33214afa1aedf90bb61208abf392cfa7ff.camel@gmail.com> (Eduard Zingerman's message of "Thu, 27 Apr 2023 18:22:08 +0300")
> On Thu, 2023-04-27 at 12:14 +0200, Jose E. Marchesi wrote:
>> Odd. I replied to this yesterday, but somehow it wasn't sent.
>>
>> > On Wed, Apr 26, 2023 at 12:35 PM Jose E. Marchesi
>> > <jose.marchesi@oracle.com> wrote:
>> > >
>> > >
>> > > > On 4/26/23 10:37 AM, Jose E. Marchesi wrote:
>> > > > > Just a heads up, we just committed support for the assembly syntax
>> > > > > used
>> > > > > by clang to the GNU assembler [1].
>> > > >
>> > > > Thanks! Do you which gcc release is expected to contain these changes?
>> > >
>> > > This is the assembler, i.e. binutils.
>> > > We don't need to update the compiler.
>> > >
>> > > > > Salud!
>> > > > > [1] https://sourceware.org/pipermail/binutils/2023-April/127222.html
>> >
>> > This is awesome!
>> > We recently converted tens of thousands of lines of bpf asm from macros
>> > to inline asm in C.
>> > See tools/testing/selftests/bpf/progs/verifier_*.c
>> > I wonder how gas-bpf can deal with that.
>>
>> Inline assembly shall work.
>
> There is also an LLVM testcase [1] where most of the instructions are covered,
> but you probably have something similar.
Yes we have extensive instruction testing in the assembler.
> Just of the curiosity, is the state machine generated by some tool or
> is it "pen and paper" exercise?
It is the later :)
But I plan to turn that function into a recursive-descend, for
maintainability.
> [1] https://github.com/llvm/llvm-project/blob/main/llvm/test/CodeGen/BPF/assembler-disassembler.s
>
>>
>> > We had to fix several inline asm issues in clang to get to this point
>> > and probably more to come.
>>
>> We will give these tests a try and fix problems as we find them :)
>>
>> We actually came with some ambiguities, undefined stuff, and other
>> issues with the syntax while doing the implementation. We hope to
>> discuss some of that during the LSF/MM/BPF next week, so we can
>> consolidate the language in both toolchains.
>>
>> Speaking of which, we are preparing the material for the "compiled BPF"
>> activity during LSF/MM/BPF. I think the BPF track hasn't been scheduled
>> yet, but how much time will we have to discuss about the topic?
next prev parent reply other threads:[~2023-04-27 16:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-26 17:37 Support for the pseudo-C BPF assembler syntax in GAS Jose E. Marchesi
2023-04-26 18:28 ` Yonghong Song
2023-04-26 19:26 ` Jose E. Marchesi
2023-04-26 20:05 ` Alexei Starovoitov
2023-04-27 10:14 ` Jose E. Marchesi
2023-04-27 15:22 ` Eduard Zingerman
2023-04-27 16:35 ` Jose E. Marchesi [this message]
2023-04-27 15:33 ` Alexei Starovoitov
2023-04-28 8:52 ` Jose E. Marchesi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87354l7076.fsf@oracle.com \
--to=jose.marchesi@oracle.com \
--cc=alexei.starovoitov@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=eddyz87@gmail.com \
--cc=gmartinezq07@gmail.com \
--cc=james.hilliard1@gmail.com \
--cc=yhs@meta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox