From: Julian Seward Date: Sun, 16 Aug 2009 01:48:35 +0000 (+0000) Subject: ppc32-linux: di_notify_mmap: accept data sections mapped rwx as well as ones X-Git-Tag: svn/VALGRIND_3_5_0~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1d1c348f85489fc76bade29eebf0484a45a6c5a2;p=thirdparty%2Fvalgrind.git ppc32-linux: di_notify_mmap: accept data sections mapped rwx as well as ones mapped rw-. Fixes #190820. Really, this logic is still pretty ropey; we could do a lot better here. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10828 --- diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c index bb2016f14e..eed2ab1f46 100644 --- a/coregrind/m_debuginfo/debuginfo.c +++ b/coregrind/m_debuginfo/debuginfo.c @@ -699,13 +699,16 @@ ULong VG_(di_notify_mmap)( Addr a, Bool allow_SkFileV ) x86-linux: consider if r and x all others: consider if r and x and not w + + 2009 Aug 16: apply similar kludge to ppc32-linux. + See http://bugs.kde.org/show_bug.cgi?id=190820 */ is_rx_map = False; is_rw_map = False; -# if defined(VGA_x86) +# if defined(VGA_x86) || defined(VGA_ppc32) is_rx_map = seg->hasR && seg->hasX; is_rw_map = seg->hasR && seg->hasW; -# elif defined(VGA_amd64) || defined(VGA_ppc32) || defined(VGA_ppc64) +# elif defined(VGA_amd64) || defined(VGA_ppc64) is_rx_map = seg->hasR && seg->hasX && !seg->hasW; is_rw_map = seg->hasR && seg->hasW && !seg->hasX; # else