Patchwork Fix tile SA_* conditions for POSIX.1:2008 (bug 21622)

login
register
mail settings
Submitter Joseph Myers
Date June 19, 2017, 3:08 p.m.
Message ID <alpine.DEB.2.20.1706191507570.27712@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/21086/
State New
Headers show

Comments

Joseph Myers - June 19, 2017, 3:08 p.m.
As shown by conform/ tests once the remaining namespace issues are
fixed, the tile bits/sigaction.h fails to declare SA_RESETHAND,
SA_RESTART and SA_NODEFER for non-XSI POSIX.1:2008 as other versions
do.  Those constants were moved from XSI to Base in the 2008 edition
of POSIX.  This patch fixes the conditions to match other versions of
this header.

Tested (compilation only) for tilegx-linux-gnu with
build-many-glibcs.py.

2017-06-19  Joseph Myers  <joseph@codesourcery.com>

	[BZ #21622]
	* sysdeps/unix/sysv/linux/tile/bits/sigaction.h (SA_RESTART):
	Define for [__USE_UNIX98 || __USE_XOPEN2K8], not [__USE_UNIX98 ||
	__USE_MISC].
	(SA_NODEFER): Likewise.
	(SA_RESETHAND): Likewise.
Chris Metcalf - June 21, 2017, 4:52 p.m.
On 6/19/2017 11:08 AM, Joseph Myers wrote:
> As shown by conform/ tests once the remaining namespace issues are
> fixed, the tile bits/sigaction.h fails to declare SA_RESETHAND,
> SA_RESTART and SA_NODEFER for non-XSI POSIX.1:2008 as other versions
> do.  Those constants were moved from XSI to Base in the 2008 edition
> of POSIX.  This patch fixes the conditions to match other versions of
> this header.
>
> Tested (compilation only) for tilegx-linux-gnu with
> build-many-glibcs.py.

LGTM, thanks; please commit.

Patch

diff --git a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h b/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
index 5a9ae28..6b8c1d7 100644
--- a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
@@ -57,6 +57,8 @@  struct sigaction
 #if defined __USE_UNIX98 || defined __USE_MISC
 # define SA_NOPTRACE  0x02000000 /* Don't ptrace this signal. */
 # define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
 # define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
 				    its handler is being executed.  */