diff options
Diffstat (limited to 'mem.c')
| -rw-r--r-- | mem.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -60,6 +60,11 @@ static int print_mmap(struct tcb *tcp, long *u_arg, unsigned long long offset) { if (entering(tcp)) { +#ifdef USE_LIBUNWIND + if (stack_trace_enabled) + delete_mmap_cache(tcp); +#endif + /* addr */ if (!u_arg[0]) tprints("NULL, "); @@ -189,6 +194,12 @@ sys_munmap(struct tcb *tcp) tprintf("%#lx, %lu", tcp->u_arg[0], tcp->u_arg[1]); } +#ifdef USE_LIBUNWIND + else { + if (stack_trace_enabled) + delete_mmap_cache(tcp); + } +#endif return 0; } @@ -200,6 +211,12 @@ sys_mprotect(struct tcb *tcp) tcp->u_arg[0], tcp->u_arg[1]); printflags(mmap_prot, tcp->u_arg[2], "PROT_???"); } +#ifdef USE_LIBUNWIND + else { + if (stack_trace_enabled) + delete_mmap_cache(tcp); + } +#endif return 0; } |
