".previous\n"
);
+#elif defined(VGP_arm64_linux)
+extern UWord do_syscall_WRK (
+ UWord a1, UWord a2, UWord a3,
+ UWord a4, UWord a5, UWord a6,
+ UWord syscall_no
+ );
+asm(
+".text\n"
+".globl do_syscall_WRK\n"
+"do_syscall_WRK:\n"
+" mov x8, x6\n"
+" mov x6, 0\n"
+" mov x7, 0\n"
+" svc 0\n"
+" ret\n"
+".previous\n"
+);
+
#elif defined(VGP_s390x_linux)
UWord do_syscall_WRK (
UWord syscall_no,
&err);
if (err)
mprotect_result = -1;
+#elif defined(VGP_arm64_linux)
+ mprotect_result = do_syscall_WRK((UWord) addr, len, PROT_NONE,
+ 0, 0, 0,
+ __NR_mprotect);
#else
mprotect_result = do_syscall_WRK(__NR_mprotect,
(UWord) addr, len, PROT_NONE,
expecting a leak
1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: f (leak-segv-jmp.c:271)
- by 0x........: main (leak-segv-jmp.c:346)
+ by 0x........: f (leak-segv-jmp.c:293)
+ by 0x........: main (leak-segv-jmp.c:368)
LEAK SUMMARY:
definitely lost: 1,000 bytes in 1 blocks
expecting a leak again
1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: f (leak-segv-jmp.c:271)
- by 0x........: main (leak-segv-jmp.c:346)
+ by 0x........: f (leak-segv-jmp.c:293)
+ by 0x........: main (leak-segv-jmp.c:368)
LEAK SUMMARY:
definitely lost: 1,000 bytes in 1 blocks
expecting a leak again after full mprotect
1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: f (leak-segv-jmp.c:271)
- by 0x........: main (leak-segv-jmp.c:346)
+ by 0x........: f (leak-segv-jmp.c:293)
+ by 0x........: main (leak-segv-jmp.c:368)
LEAK SUMMARY:
definitely lost: 1,000 bytes in 1 blocks
expecting heuristic not to crash after full mprotect
1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: f (leak-segv-jmp.c:271)
- by 0x........: main (leak-segv-jmp.c:346)
+ by 0x........: f (leak-segv-jmp.c:293)
+ by 0x........: main (leak-segv-jmp.c:368)
200,000 bytes in 1 blocks are possibly lost in loss record ... of ...
at 0x........: calloc (vg_replace_malloc.c:...)
- by 0x........: f (leak-segv-jmp.c:318)
- by 0x........: main (leak-segv-jmp.c:346)
+ by 0x........: f (leak-segv-jmp.c:340)
+ by 0x........: main (leak-segv-jmp.c:368)
LEAK SUMMARY:
definitely lost: 1,000 bytes in 1 blocks