Re: [PATCH 4/4] samples/bpf: Fix tracex5 to work with MIPS syscalls.

From: Daniel Borkmann
Date: Tue Jun 13 2017 - 20:21:59 EST


On 06/14/2017 01:49 AM, David Daney wrote:
There are two problems:

1) In MIPS the __NR_* macros expand to an expression, this causes the
sections of the object file to be named like:

.
.
.
[ 5] kprobe/(5000 + 1) PROGBITS 0000000000000000 000160 ...
[ 6] kprobe/(5000 + 0) PROGBITS 0000000000000000 000258 ...
[ 7] kprobe/(5000 + 9) PROGBITS 0000000000000000 000348 ...
.
.
.

The fix here is to use the "asm_offsets" trick to evaluate the macros
in the C compiler and generate a header file with a usable form of the
macros.

2) MIPS syscall numbers start at 5000, so we need a bigger map to hold
the sub-programs.

Signed-off-by: David Daney <david.daney@xxxxxxxxxx>

Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>