[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f7td1bwtthr.fsf@redhat.com>
Date: Fri, 28 Apr 2017 11:57:36 -0400
From: Aaron Conole <aconole@...heb.org>
To: David Miller <davem@...emloft.net>
Cc: ast@...com, daniel@...earbox.net, netdev@...r.kernel.org,
xdp-newbies@...r.kernel.org
Subject: Re: [PATCH v2 binutils] Add BPF support to binutils...
Hi David,
David Miller <davem@...emloft.net> writes:
> Here is what I have after today's work. I think I sorted out the
> endianness issues.
>
> gas can be controlled explicitly using "-EB" and "-EL" options. The
> default is whatever endianness the host has. The elf names for the
> two variants are "elf64-bpfbe" and "elf64-bpfle".
>
> I fleshed out all the rest of the assembler parsing for instructions
> and added many entries to the gas testsuite.
>
> They are all explicitly in little endian, although I should add big
> endian versions too of course.
>
> If someone is looking for a way to help, could you please verify the
> testsuite output to make sure the opcode and fields are correctly
> set in the testsuite. Just look in:
>
> gas/testsuite/gas/bpf/
>
> and there are two files for every test. One is the "foo.s" file which
> gets built using gas into an object file "foo.o". Then there is a
> dump file named "foo.d" which specifies optionally how to run gas and
> with what options, and then what to dump with (usually "objdump -dr")
> then there is text which the testsuite compares with the dump of
> the resulting "foo.o" file.
>
> The testsuite is driven by bpf.exp which has pretty straightforward
> syntax.
>
> Anyways, enjoy. I'll keep cracking on this tomorrow.
I'll get an arm board up and running to do some testing there. As a
teaser:
Test run by aconole on Fri Apr 28 11:52:18 2017
Target is bpf-linux-elf
Host is x86_64-pc-linux-gnu
=== gas tests ===
...
Running /home/aconole/git/binutils-gdb/gas/testsuite/gas/bfin/error.exp ...
Running /home/aconole/git/binutils-gdb/gas/testsuite/gas/bpf/bpf.exp ...
Running /home/aconole/git/binutils-gdb/gas/testsuite/gas/cfi/cfi.exp ...
...
And also:
11:56:08 aconole {master} ~/git/binutils-gdb$ ./binutils/objdump -dr move.o
move.o: file format elf64-bpfle
Disassembly of section .text:
0000000000000000 <.text>:
0: bf 12 00 00 00 00 00 00 mov r1, r2
8: b7 10 00 00 ef 00 00 00 mov r1, 239
10: bc 12 00 00 00 00 00 00 mov32 r1, r2
18: b4 10 00 00 ef 00 00 00 mov32 r1, 239
20: bf 36 00 00 00 00 00 00 mov r3, r6
28: bf 63 00 00 00 00 00 00 mov r6, r3
30: bf 89 00 00 00 00 00 00 mov r8, r9
38: bf a1 00 00 00 00 00 00 mov r10, r1
40: bf 73 00 00 00 00 00 00 mov r7, r3
48: b7 50 00 00 02 00 00 00 mov r5, 2
This is on an intel i7 (so not terribly exotic)
-Aaron
Powered by blists - more mailing lists