On Mon, Oct 21, 2024 at 01:07:06PM +0800, Jason Xing wrote: > From: Jason Xing <kernelxing@xxxxxxxxxxx> > > When I compiled the tools/testing/selftests/bpf, the following error > pops out: > uprobe_multi.c: In function ‘trigger_uprobe’: > uprobe_multi.c:109:26: error: ‘MADV_PAGEOUT’ undeclared (first use in this function); did you mean ‘MADV_RANDOM’? > madvise(addr, page_sz, MADV_PAGEOUT); > ^~~~~~~~~~~~ > MADV_RANDOM > > Including the <linux/linux/mman.h> header file solves this compilation error. hi, strange, uprobe_multi.c even has: #ifndef MADV_PAGEOUT #define MADV_PAGEOUT 21 #endif and '#include <sys/mman.h>' should be all that's needed could you please share more details (extra flags) on how you compile? thanks, jirka > > Signed-off-by: Jason Xing <kernelxing@xxxxxxxxxxx> > --- > v2 > Link: https://lore.kernel.org/all/20241020031422.46894-1-kerneljasonxing@xxxxxxxxx/ > 1. handle it in a proper way > --- > tools/testing/selftests/bpf/uprobe_multi.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/testing/selftests/bpf/uprobe_multi.c b/tools/testing/selftests/bpf/uprobe_multi.c > index c7828b13e5ff..40231f02b95d 100644 > --- a/tools/testing/selftests/bpf/uprobe_multi.c > +++ b/tools/testing/selftests/bpf/uprobe_multi.c > @@ -4,6 +4,7 @@ > #include <string.h> > #include <stdbool.h> > #include <stdint.h> > +#include <linux/mman.h> > #include <sys/mman.h> > #include <unistd.h> > #include <sdt.h> > -- > 2.37.3 >