|
From: <sv...@va...> - 2008-05-06 18:14:51
|
Author: sewardj
Date: 2008-05-06 19:14:27 +0100 (Tue, 06 May 2008)
New Revision: 8011
Log:
Un-break signal frame delivery on ppc64 following recent Memcheck
origin tracking changes. This is believed to fix #161628.
Modified:
trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c
Modified: trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c
===================================================================
--- trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c 2008-05-06 16:54:53 UTC (rev 8010)
+++ trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c 2008-05-06 18:14:27 UTC (rev 8011)
@@ -95,8 +95,9 @@
/* Structure containing bits of information that we want to save
on signal delivery. */
struct vg_sig_private {
- UInt magicPI;
- UInt sigNo_private;
+ UInt magicPI;
+ UInt sigNo_private;
+ ULong _unused; /* makes the struct size be zero % 16 */
VexGuestPPC64State vex_shadow1;
VexGuestPPC64State vex_shadow2;
};
@@ -190,6 +191,7 @@
struct rt_sigframe* frame;
/* Stack must be 16-byte aligned */
+ vg_assert(VG_IS_16_ALIGNED(sizeof(struct vg_sig_private)));
vg_assert(VG_IS_16_ALIGNED(sizeof(struct rt_sigframe)));
sp_top_of_frame &= ~0xf;
|