From patchwork Thu Jun 1 17:18:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 769844 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wdvGH3ZySz9sCX for ; Fri, 2 Jun 2017 03:19:19 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="tguzwo/v"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; q=dns; s=default; b=ObC4PCWhsuEdMcYM16OxZAlmZVnQg I4pz/DwwgvKSYEIeiWwiNJlYd7G8JQ7xx8KmWisIuBMea49DGIVn5ARjrAs9L0Ou GL0R3UraJQ9Ouk440VkY5i0JyWTDKgvE1rZQ/RLugC6DUF4Pynr+AaPPPLwEPs5U WIYEL8LHRWk1vo= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; s=default; bh=hcK9OzPgQQD1cQRngwfk05KM1mA=; b=tgu zwo/vgOZPSD0/T2VUipCyUiXudJRBtNhNYprgKoE54Ou9LiYA6+Bm9sWpbMfj8eZ u7/gVPbW9ZNERlmCb7wQlVGIC4taODdmBnv0B2FSKY/192mPA0iNCPBH8zTV0XcR WcjltT0rhKo10pKbM49xk1Lfa0nVm5BE3ncN7ZkA= Received: (qmail 63711 invoked by alias); 1 Jun 2017 17:18:37 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 63430 invoked by uid 89); 1 Jun 2017 17:18:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: relay1.mentorg.com Date: Thu, 1 Jun 2017 17:18:27 +0000 From: Joseph Myers To: Subject: conformtest: Correct signal.h expectations for XPG4 / XPG42 [committed] Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) Various of the signal.h conform/ failures for XPG4 and XPG42 are actually the result of incorrect test expectations rather than header bugs. This patch fixes the expectations to accord with those standards (this does not however allow any XFAILs to be removed, as some header bugs remain). Note for anyone comparing with the standards: corrigendum U013/16 removes the mention of a sigmask function in signal.h (C435 lists such a function in the definition of signal.h, but without any actual specification for the function itself), so sigmask is not included in the expectations. Tested for x86_64. 2017-06-01 Joseph Myers * conform/data/signal.h-data (sa_sigaction): Do not expect for [XPG4]. (SA_SIGINFO): Likewise. (SA_ONSTACK): Likewise. (SA_RESETHAND): Likewise. (SA_RESTART): Likewise. (SA_NOCLDWAIT): Likewise. (SA_NODEFER): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. (MINSIGSTKSZ): Likewise. (SIGSTKSZ): Likewise. (ucontext_t): Likewise. (stack_t): Likewise. (struct sigstack): Likewise. (SI_USER): Do not expect for [XPG4 || XPG42]. (SI_QUEUE): Likewise. (SI_TIMER): Likewise. (SI_ASYNCIO): Likewise. (SI_MESGQ): Likewise. (bsd_signal): Do not expect for [XPG4]. (killpg): Likewise. (sigaltstack): Likewise. (sighold): Likewise. (sigignore): Likewise. (siginterrupt): Likewise. (sigpause): Likewise. (sigrelse): Likewise. (sigset): Likewise. (sigwait): Do not expect for [XPG4 || XPG42]. diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data index 8fbe3ac..5718164 100644 --- a/conform/data/signal.h-data +++ b/conform/data/signal.h-data @@ -104,30 +104,34 @@ type {struct sigaction} element {struct sigaction} {void(*} sa_handler )(int) element {struct sigaction} sigset_t sa_mask element {struct sigaction} int sa_flags +# ifndef XPG4 element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*) +# endif constant SA_NOCLDSTOP +# ifndef XPG4 constant SA_SIGINFO +# endif constant SIG_BLOCK constant SIG_UNBLOCK constant SIG_SETMASK -# if !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined POSIX && !defined POSIX2008 constant SA_ONSTACK # endif -# if !defined POSIX +# if !defined XPG4 && !defined POSIX constant SA_RESETHAND constant SA_RESTART constant SA_NOCLDWAIT constant SA_NODEFER # endif -# if !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined POSIX && !defined POSIX2008 constant SS_ONSTACK constant SS_DISABLE constant MINSIGSTKSZ constant SIGSTKSZ # endif -# if !defined POSIX +# if !defined XPG4 && !defined POSIX type ucontext_t element ucontext_t {ucontext_t*} uc_link @@ -208,17 +212,19 @@ constant POLL_HUP constant TRAP_BRKPT constant TRAP_TRACE # endif +# if !defined XPG4 && !defined XPG42 constant SI_USER constant SI_QUEUE constant SI_TIMER constant SI_ASYNCIO constant SI_MESGQ +# endif -# if !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008 function void (*bsd_signal (int, void(*)(int)))(int) # endif function int kill (pid_t, int) -# if !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined POSIX && !defined POSIX2008 function int killpg (pid_t, int) # endif # if !defined XPG4 && !defined XPG42 @@ -227,19 +233,19 @@ function int pthread_sigmask (int, const sigset_t*, sigset_t*) # endif function int sigaction (int, const struct sigaction*, struct sigaction*) function int sigaddset (sigset_t*, int) -# if !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined POSIX && !defined POSIX2008 function int sigaltstack (const stack_t*, stack_t*) # endif function int sigdelset (sigset_t*, int) function int sigemptyset (sigset_t*) function int sigfillset (sigset_t*) -# if !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined POSIX && !defined POSIX2008 function int sighold (int) function int sigignore (int) function int siginterrupt (int, int) # endif function int sigismember (const sigset_t*, int) -#if !defined POSIX && !defined POSIX2008 +#if !defined XPG4 && !defined POSIX && !defined POSIX2008 function int sigpause (int) # endif function int sigpending (sigset_t*) @@ -247,7 +253,7 @@ function int sigprocmask (int, const sigset_t*, sigset_t*) # if !defined XPG4 && !defined XPG42 function int sigqueue (pid_t, int, const union sigval) # endif -# if !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined POSIX && !defined POSIX2008 function int sigrelse (int) function void (*sigset (int, void(*)(int)))(int) # endif @@ -258,8 +264,8 @@ function int sigsuspend (const sigset_t*) # if !defined XPG4 && !defined XPG42 function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*) # endif -function int sigwait (const sigset_t*, int*) # if !defined XPG4 && !defined XPG42 +function int sigwait (const sigset_t*, int*) function int sigwaitinfo (const sigset_t*, siginfo_t*) # endif # if defined XOPEN2K8 || defined POSIX2008