mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 07:06:38 +07:00
4b7190e841
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>
13 lines
231 B
C
13 lines
231 B
C
#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);
|
|
}
|