Logo
Explore Help
Register Sign In
leandrof/linux
1
0
Fork 0
You've already forked linux
Code Issues Pull Requests Packages Projects Releases Wiki Activity
Files
81b9cf8028a17bdbdaa0da80b735b32150d4e89e
linux/samples/bpf/syscall_nrs.c

13 lines
231 B
C
Raw Normal View History

samples/bpf: Fix tracex5 to work with MIPS syscalls. 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@cavium.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-13 16:49:38 -07:00
#include <uapi/linux/unistd.h>
#include <linux/kbuild.h>
#define SYSNR(_NR) DEFINE(SYS ## _NR, _NR)
void syscall_defines(void)
{
COMMENT("Linux system call numbers.");
SYSNR(__NR_write);
SYSNR(__NR_read);
SYSNR(__NR_mmap);
}
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.25.1 Page: 426ms Template: 1ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API