From patchwork Sat Nov 9 20:07:39 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Carr X-Patchwork-Id: 290007 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)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id AAE912C00C1 for ; Sun, 10 Nov 2013 07:10:00 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:to:cc:subject:mime-version:content-type:content-id :date:from; q=dns; s=default; b=xUmYJXBERvItTzVwmQMyvfZDxX6Pe521 gga9NbW5TFbj5RA5QLrZZOCcSYw0QGlLvRucpzpvagse5lvUuBepnvZ4UVcJGVg5 PjLDlmdKhU7Jg8LaCXwtKiRo37tqycQ/jkAbtBSopd4SpIGprOhX2P5l0O+yyECk PLtOppvE9mw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:to:cc:subject:mime-version:content-type:content-id :date:from; s=default; bh=8KikqzilxwEQ02azj+dJUvDcFuE=; b=SBzRt8 h5yv88//iv7MzTzN4eDmejeLmXULG49wq7YWVAtt5sHd0DnEUW4Ix06LxmqH9HBB L1v6MplcjqNmOJhWtSxrgcTKaHE2XtUFwKcnYOOqrAfnmO4NArCjfBI15pp4ipQV tn7rSQrDT+PE7sKdpwBTLWVScLnUd1KWvqUUs= Received: (qmail 26034 invoked by alias); 9 Nov 2013 20:09:50 -0000 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 Received: (qmail 26022 invoked by uid 89); 9 Nov 2013 20:09:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=BAYES_05, RDNS_NONE, SPF_PASS autolearn=no version=3.3.2 X-HELO: dmz-mailsec-scanner-4.mit.edu Received: from Unknown (HELO dmz-mailsec-scanner-4.mit.edu) (18.9.25.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Sat, 09 Nov 2013 20:07:51 +0000 Received: from mailhub-auth-1.mit.edu ( [18.9.21.35]) (using TLS with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by dmz-mailsec-scanner-4.mit.edu (Symantec Messaging Gateway) with SMTP id C3.78.21469.E069E725; Sat, 9 Nov 2013 15:07:42 -0500 (EST) Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id rA9K7ffC026928; Sat, 9 Nov 2013 15:07:41 -0500 Received: from localhost (contents-vnder-pressvre.mit.edu [18.9.64.11]) (authenticated bits=0) (User authenticated as jfc@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id rA9K7diR029724; Sat, 9 Nov 2013 15:07:40 -0500 Message-Id: <201311092007.rA9K7diR029724@outgoing.mit.edu> To: "Balaji V. Iyer" cc: Subject: OpenBSD cilkrts portability patch MIME-Version: 1.0 Content-ID: <25341.1384027659.0@contents-vnder-pressvre.MIT.EDU> Date: Sat, 09 Nov 2013 15:07:39 -0500 From: John Carr I am trying to build the trunk version of gcc to have Cilk on OpenBSD. I attach three changes to libcilkrts. Two changes treat OpenBSD like FreeBSD. One change is needed because OpenBSD defines PTHREAD_MUTEX_* as enumerations rather than preprocessor constants. Index: /data/jfc/src/GNU/trunk/libcilkrts/runtime/os-unix.c =================================================================== --- /data/jfc/src/GNU/trunk/libcilkrts/runtime/os-unix.c (revision 204488) +++ /data/jfc/src/GNU/trunk/libcilkrts/runtime/os-unix.c (working copy) @@ -54,7 +54,7 @@ #elif defined __APPLE__ # include // Uses sysconf(_SC_NPROCESSORS_ONLN) in verbose output -#elif defined __FreeBSD__ +#elif defined __FreeBSD__ || defined __OpenBSD__ // No additional include files #elif defined __CYGWIN__ // Cygwin on Windows - no additional include files @@ -369,7 +369,7 @@ assert((unsigned)count == count); return count; -#elif defined __FreeBSD__ || defined __CYGWIN__ +#elif defined __FreeBSD__ || defined __OpenBSD__ || defined __CYGWIN__ int ncores = sysconf(_SC_NPROCESSORS_ONLN); return ncores; Index: /data/jfc/src/GNU/trunk/libcilkrts/runtime/os_mutex-unix.c =================================================================== --- /data/jfc/src/GNU/trunk/libcilkrts/runtime/os_mutex-unix.c (revision 204488) +++ /data/jfc/src/GNU/trunk/libcilkrts/runtime/os_mutex-unix.c (working copy) @@ -89,7 +89,7 @@ status = pthread_mutexattr_init(&attr); CILK_ASSERT (status == 0); #if defined DEBUG || CILK_LIB_DEBUG -#ifdef PTHREAD_MUTEX_ERRORCHECK +#if defined PTHREAD_MUTEX_ERRORCHECK || defined __OpenBSD__ status = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); #else status = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);