From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id C6110388A004 for ; Thu, 2 Apr 2020 10:09:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C6110388A004 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Tobias_Burnus@mentor.com IronPort-SDR: dwiy0TY3NfhYXgjvtdLmoqTpFGccftY5C1YVVBm8QQmR/4W6HC7eSbC5kxHPn5a0SkP47JJ0tZ Y13nfWfkzzkg/9pEC+BpOTOTBwQbK+rsM69TaZEjmcz5ho3PZhcqCQrxIRfdpdJuQM79pwHN6x 5JIC1Wg1NjTSagL9rnAVQkRxi/TULErV0/KN2SVXRQf1yAJ7rz6VxAywt3/QUtDxb4JpMFqeTG rF/v4dEEsvQozNFiG+ceOMCIN6zPJGsN5tFmN93EMrEQkfK2WpE3BhPL7leg1GBuQ6CrgCcgMl EjE= X-IronPort-AV: E=Sophos;i="5.72,335,1580803200"; d="scan'208";a="47371839" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 02 Apr 2020 02:09:16 -0800 IronPort-SDR: J+hQ/nHrLRCj47D38gLVq0QOT2HJ57XQpg56CWNa1yS6TUjb66avbVGjJ3c68rlCoTysDR2l9S Gjl0lwJryFHMe7WqDginST4nfzC2SPCWcQ03nvjdzXs7OO8Eq7t2d6j2E1RD0vySxDMChTVC0f BvAN6Jtjz00iCpBnH5E3IqOpADQiSBwuQCimpXVeywkg3TBFafMWeyNFuwaJ30f1YMBpjBT2sn hY53ATOBFHQj+7CO5XAYoiMlcUl8FJqmlE3kO0Rvvn8VK3ukj79Ed/qRsMMwaUPmrCZyx4IzEm DyI= Subject: Re: [PATCH] Test for sigsetjmp support in analyzer tests requiring that feature. To: Thomas Schwinge , Sandra Loosemore , References: <87bloans9a.fsf@euler.schwinge.homeip.net> From: Tobias Burnus Message-ID: Date: Thu, 2 Apr 2020 12:09:05 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <87bloans9a.fsf@euler.schwinge.homeip.net> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-US X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-06.mgc.mentorg.com (139.181.222.6) To SVR-IES-MBX-03.mgc.mentorg.com (139.181.222.3) X-Spam-Status: No, score=-18.3 required=5.0 tests=BAYES_00, GIT_PATCH_2, GIT_PATCH_3, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Apr 2020 10:09:19 -0000 Interestingly, only those two testcases use the effective-target check: gcc.dg/analyzer/sigsetjmp-5.c, gcc.dg/analyzer/sigsetjmp-6.c Regarding the link test: No header file is included =E2=80=93 it just defines the function ("extern char $funcname();") and calls it. The check fails as "sigsetjmp" does not exist in glibc =E2=80=93 the symbol is "__sigsetjmp" in glibc. If one includes '#include ', it works =E2=80=93 even without explicitly setting _POSIX_C_SOURCE. BTW: sigsetjmp is also used by the following testcase, but without the effective-target check: g++.dg/asan/asan_test.cc, g++.dg/torture/pr57190.C, gcc.dg/pr69167.c, gcc.dg/torture/float128-exact-underflow.c, gcc.dg/torture/float128-extendxf-underflow.c, gcc.dg/torture/pr57147-3.c, gcc.dg/torture/pr81900.c, gcc.dg/ubsan/pr94423.c, gcc.target/sh/torture/pr30807.c Cheers, Tobias On 4/2/20 11:36 AM, Thomas Schwinge wrote: > Hi! > > On 2020-03-22T11:31:31-0600, Sandra Loosemore w= rote: >> The new-ish analyzer test cases sigsetjmp-5.c and sigsetjmp-6.c were >> failing on nios2-elf and probably other newlib targets due to lack of >> support for sigsetjmp. I didn't see a suitable existing >> effective-target test for this, so I added one. >> --- a/gcc/testsuite/gcc.dg/analyzer/sigsetjmp-5.c >> +++ b/gcc/testsuite/gcc.dg/analyzer/sigsetjmp-5.c >> @@ -1,3 +1,5 @@ >> +/* { dg-require-effective-target sigsetjmp } */ >> --- a/gcc/testsuite/gcc.dg/analyzer/sigsetjmp-6.c >> +++ b/gcc/testsuite/gcc.dg/analyzer/sigsetjmp-6.c >> @@ -1,3 +1,5 @@ >> +/* { dg-require-effective-target sigsetjmp } */ >> --- a/gcc/testsuite/lib/target-supports.exp >> +++ b/gcc/testsuite/lib/target-supports.exp >> +# Returns 1 if "sigsetjmp" is available on the target system. >> + >> +proc check_effective_target_sigsetjmp {} { >> + return [check_function_available "sigsetjmp"] >> +} > That got pushed to master branch as commit > adaf4b6c66e789d927684003b9ee05ed04c105ea "Test for sigsetjmp support in > analyzer tests requiring that feature". > > On x86_64-pc-linux-gnu I now see these tests regress to: > > UNSUPPORTED: gcc.dg/analyzer/sigsetjmp-5.c > UNSUPPORTED: gcc.dg/analyzer/sigsetjmp-6.c > > ..., because of: > > Executing on host: [xgcc] sigsetjmp_available6728.c [...] -fno-built= in -lm -o sigsetjmp_available6728.exe (timeout =3D 300) > spawn [xgcc] sigsetjmp_available6728.c [...] -fno-builtin -lm -o sig= setjmp_available6728.exe > /tmp/ccKsf87z.o: In function `main': > sigsetjmp_available6728.c:(.text+0xa): undefined reference to `sigse= tjmp' > collect2: error: ld returned 1 exit status > [...] > > Does that maybe have something to do with feature test macros required > for 'sigsetjmp'? > > > Gr=C3=BC=C3=9Fe > Thomas > ----------------- > Mentor Graphics (Deutschland) GmbH, Arnulfstra=C3=9Fe 201, 80634 M=C3=BCn= chen / Germany > Registergericht M=C3=BCnchen HRB 106955, Gesch=C3=A4ftsf=C3=BChrer: Thoma= s Heurung, Alexander Walter ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstra=C3=9Fe 201, 80634 M=C3=BCnch= en / Germany Registergericht M=C3=BCnchen HRB 106955, Gesch=C3=A4ftsf=C3=BChrer: Thomas = Heurung, Alexander Walter