[email protected] (Paul Pluzhnikov) writes:

>While doing strace on an executable using libunwind, I noticed a
>lot of:

>  msync(0, 1, MS_SYNC) = -1 ENOMEM (Cannot allocate memory)

Speaking of which, I don't believe msync() fails on non-readable
memory (PROT_NONE), so it isn't a perfectly reliable way of verifying
whether an address can be read from without segfaulting. In another
stack trace application, we had to abandon msync() for this purpose
and use pread() from /proc/self/mem instead - more expensive, but safer.



_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to