• David Daney's avatar
    samples/bpf: Fix tracex5 to work with MIPS syscalls. · 4b7190e8
    David Daney authored
    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: 's avatarDavid Daney <david.daney@cavium.com>
    Acked-by: 's avatarDaniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: 's avatarDavid S. Miller <davem@davemloft.net>
    4b7190e8
tracex5_kern.c 2.01 KB