From 716f049a55a42d97c0e9e82cc0a7d4b609456f8f Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 20 Jul 2015 07:29:15 -0400 Subject: sparc: fix sigaction for 32bit builds [BZ #18694] Commit a059d359d86130b5fa74e04a978c8523a0293f77 changed the sigaction struct to pass conform tests, but it ended up also changing the ABI for 32 bit builds. For 64 bit builds, changing the long to two ints works, but for 32 bit builds, it inserts 4 extra bytes. This leads to many packages randomly failing like bash that spews things like: configure: line 471: wait_for: No record of process 0 Bracket the new member by a wordsize check to fix the ABI for 32bit. (cherry picked from commit 7fde904c73c57faea48c9679bbdc0932d81b3a2f) (cherry picked from commit ed99e5f9cc6471745488f269d16ee5b127944a85) --- sysdeps/unix/sysv/linux/sparc/bits/sigaction.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sysdeps/unix/sysv/linux/sparc') diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h index 7a0ca7eea2..b1b121d9b7 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h @@ -20,6 +20,8 @@ # error "Never include directly; use instead." #endif +#include + /* Structure describing the action to be taken when a signal arrives. */ struct sigaction { @@ -43,7 +45,9 @@ struct sigaction __sigset_t sa_mask; /* Special flags. */ +#if __WORDSIZE == 64 int __glibc_reserved0; +#endif int sa_flags; /* Not used by Linux/Sparc yet. */ -- cgit v1.2.3-70-g09d2