Various ppc64le tests fail on Fedora rawhide with: valgrind: m_sigframe/sigframe-ppc64-linux.c:155 (vgPlain_sigframe_create): Assertion 'VG_IS_16_ALIGNED(sizeof(struct rt_sigframe))' failed. I assume something changed the size of struct rt_sigframe, but I haven't investigated what yet. Note that Fedora rawhide currently uses a pre-release of gcc 10 and a pre-release of glibc 2.31. Linux buildvm-ppc64le-19.ppc.fedoraproject.org 5.4.10-200.fc31.ppc64le #1 SMP Thu Jan 9 19:42:56 UTC 2020 ppc64le ppc64le ppc64le GNU/Linux glibc-2.30.9000-31.fc32.ppc64le gcc-10.0.1-0.5.fc32.ppc64le binutils-2.33.1-12.fc32.ppc64le
It looks like this was caused by: commit 3bac39a10abf292d332bb20ab58c6dd5c28f9108 Author: Eugene Syromyatnikov <evgsyr@gmail.com> Date: Fri Mar 8 04:07:00 2019 +0100 include/vki: fix vki_siginfo_t definition on amd64, arm64, and ppc64 Which was backported to the fedora valgrind 3.15.0 based version. That patch was to fix bug #405201 Incorrect size of struct vki_siginfo on 64-bit Linux architectures
Looks like this bug has also been reported in bug 416760. https://bugs.kde.org/show_bug.cgi?id=416760
Arg, added comment to wrong bug.
Found a partial fix. The following patch reduces the number of regression tests on PPC64 significantly coregrind/m_sigframe/sigframe-ppc64-linux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coregrind/m_sigframe/sigframe-ppc64-linux.c b/coregrind/m_sigframe/ sigframe-ppc64-linux.c index 0406f3c..b54c4e0 100644 --- a/coregrind/m_sigframe/sigframe-ppc64-linux.c +++ b/coregrind/m_sigframe/sigframe-ppc64-linux.c @@ -112,7 +112,7 @@ struct rt_sigframe { vki_siginfo_t info; struct vg_sig_private priv; UChar abigap[288]; // unused -}; +} __attribute__ ((aligned (16))); #define SET_SIGNAL_LR(zztst, zzval) \ do { tst->arch.vex.guest_LR = (zzval); \ -- 2.7.4 See bugzilla 417427 for more details
Created attachment 126279 [details] PPC64 alginment fix for struct rt_sigframe The attached patch fixes the alignment for the rt_sigframe structure on PPC64. This fixes numerous regresion errors. On power 7, 8 and 9, it fixes 31 stderr failures, 10 stdout failures.
The attchement was commited. commit 6f8920fd8f9381cf75f5dd0c3c65ac5d86c0a537 Author: Carl Love <carll@us.ibm.com> Date: Fri Feb 21 17:22:26 2020 -0600 PPC64, fix for alignment of the rt_sigframe data structure. The PPC64 implementation checks that the data structure is aligned. The changes in commit listed below breaks the alignment. This patch adds an explicit alignment directive to ensure the data structure is allocated with the required alignment. This fixes 31 stderr failures, 10 stdout failures on the Power 7, Power 8 and Power 9 platforms. Changing status to RESOLVED/FIXED
Closing as there has been no regression fallout from the fix.