From patchwork Thu Jan 17 20:39:58 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jack Howarth X-Patchwork-Id: 213360 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]) by ozlabs.org (Postfix) with SMTP id 0D3252C0082 for ; Fri, 18 Jan 2013 07:40:41 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1359060042; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition:User-Agent:Mailing-List:Precedence:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=n7LYcAYHLzfUwF1CZoRz60o69Vo=; b=slxdnOCi3rcFIph cZDfK75TLwi8RO88WhZtMTgRGuUdewi8sehZZqdGYdxuUYG3c6lGEF+Z17VbgWEn +OziOK4hPk+1+fMLqzb2ymddehFz3DmZFmmUk0d6HTHJlvIR0cZ9cF0fgg+T51vZ DcAFkzmn6vNR76LI5BXwnJzZgxtk= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:Content-Disposition:User-Agent:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=nShKKCrmNH7gxltG40OdQkaFZSucsgdSiyvF0gdONNl9tnU21VBgdhJTVq3tBE YcFRTZhBk9i7bLmurrr6uzFgaeSNQGhN1IoIM70GOdzblDND4B4OggSSI9P7cQjU kLYIXf1ptMTOVx5GyAQLa9SI4rTseBEKj87D4bI6FN1Pg=; Received: (qmail 12153 invoked by alias); 17 Jan 2013 20:40:35 -0000 Received: (qmail 12130 invoked by uid 22791); 17 Jan 2013 20:40:34 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from bromo.med.uc.edu (HELO bromo.med.uc.edu) (129.137.3.146) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 17 Jan 2013 20:40:01 +0000 Received: from bromo.med.uc.edu (localhost.localdomain [127.0.0.1]) by bromo.med.uc.edu (Postfix) with ESMTP id 00E1E400007; Thu, 17 Jan 2013 15:39:58 -0500 (EST) Received: (from howarth@localhost) by bromo.med.uc.edu (8.14.3/8.14.3/Submit) id r0HKdw9W016730; Thu, 17 Jan 2013 15:39:58 -0500 Date: Thu, 17 Jan 2013 15:39:58 -0500 From: Jack Howarth To: gcc-patches@gcc.gnu.org Cc: dodji@redhat.com, konstantin.s.serebryany@gmail.com, mikestump@comcast.net, iain@codesourcery.com, glider@google.com, jakub@redhat.com Subject: [PATCH][Revisedx3] PR55679: skip invalid tests from r194458 on darwin Message-ID: <20130117203958.GA16710@bromo.med.uc.edu> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org The attached revised patch disables three asan tests introduced in r194458 which are invalid on darwin. The g++.dg/asan/interception-test-1.C test should be dg-skip-if'd on darwin since mac function interposition is used instead of interception. The c-c++-common/asan/swapcontext-test-1.c test is invalid as ucontext support was deprecated in darwin10 and removed completely in darwin11. The current implementation of check_effective_target_swapcontext in lib/target-supports.exp doesn't catch the deprecation of ucontext support on darwin because it doesn't try to parse the ucontext.h include file. The attached patch changes the check_effective_target_swapcontext to use check_no_compiler_messages with compilation of ucontext.h. The check_effective_target_setrlimit proc is also modified to return 0 on darwin due to the non-posix compliant RLIMIT_AS on that target. Tested without regression on both x86_64-apple-darwin10 and x86_64-unknown-linux-gnu. Okay for gcc trunk? Jack ps This patch leaves the failures in c-c++-common/asan/global-overflow-1.c and c-c++-common/asan/stack-overflow-1.c as the only unresolved parts of PR55679 on darwin. gcc/testsuite/ 2013-01-17 Jack Howarth PR sanitizer/55679 * g++.dg/asan/interception-test-1.C: Skip on darwin. * lib/target-supports.exp (check_effective_target_swapcontext): Use check_no_compiler_messages to test support in ucontext.h. (check_effective_target_setrlimit): Return 0 for Darwin's non-posix compliant RLIMIT_AS. Index: gcc/testsuite/lib/target-supports.exp =================================================================== --- gcc/testsuite/lib/target-supports.exp (revision 195280) +++ gcc/testsuite/lib/target-supports.exp (working copy) @@ -730,12 +730,23 @@ proc check_effective_target_clone {} { # Return 1 if the target supports setrlimit, 0 otherwise. proc check_effective_target_setrlimit {} { + # Darwin has non-posix compliant RLIMIT_AS + if { [istarget *-*-darwin*] } { + return 0 + } return [check_function_available "setrlimit"] } # Return 1 if the target supports swapcontext, 0 otherwise. proc check_effective_target_swapcontext {} { - return [check_function_available "swapcontext"] + return [check_no_compiler_messages swapcontext executable { + #include + int main (void) + { + ucontext_t orig_context,child_context; + if (swapcontext(&child_context, &orig_context) < 0) { } + } + }] } # Return 1 if compilation with -pthread is error-free for trivial Index: gcc/testsuite/g++.dg/asan/interception-test-1.C =================================================================== --- gcc/testsuite/g++.dg/asan/interception-test-1.C (revision 195280) +++ gcc/testsuite/g++.dg/asan/interception-test-1.C (working copy) @@ -3,6 +3,7 @@ // { dg-do run } // { dg-options "-fno-builtin-malloc -fno-builtin-free" } // { dg-shouldfail "asan" } +// { dg-skip-if "Darwin uses mac function interposition" { *-*-darwin* } } #include #include