From patchwork Mon May 9 09:39:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Klose X-Patchwork-Id: 619789 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 3r3HRr0JsWz9s9W for ; Mon, 9 May 2016 19:40:23 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=BeokFhqS; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :subject:to:references:cc:from:message-id:date:mime-version :in-reply-to:content-type:content-transfer-encoding; q=dns; s= default; b=g0CCN4pyiKv0xPI6dGfMIR0HCvHHrImZ35UA8clK+x0XDLhRKtg6/ 2qjfrVQ26+5ZzYqEr1G5b4r5VYXNI2SVVYKSZ0M/W2eKetVmNoKe5PxBKI4otiRy E+locM5ov9+QlmOJ/jGEnZ4uWGGucn/ZVJVirm66WtO2c9lGOBGbxw= 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 :subject:to:references:cc:from:message-id:date:mime-version :in-reply-to:content-type:content-transfer-encoding; s=default; bh=gl3ROdVsAUaKDJaLLMfJ/E1na9c=; b=BeokFhqSTmzelXxygyyX8moLHhns YxS0yoSyTgRWr04IutuPrSqRKeDqakkYq5p0sEyWwhJ8hM2xIfA6l9W1B+SEwIIK fPi7qiwMUJMCzXSxlAuGlZyi7mSMEc8TID/BTl/tJhmRJh++4qZ+5KL+PyeHAbsQ k+3vcSaXCVen4Tc= Received: (qmail 74507 invoked by alias); 9 May 2016 09:40:10 -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 74344 invoked by uid 89); 9 May 2016 09:40:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=4.7 required=5.0 tests=AWL, BAYES_99, BAYES_999, RCVD_IN_DNSWL_LOW, SEM_URI, SEM_URIRED autolearn=no version=3.3.2 spammy=sysdeph, sysdep.h, UD:sysdep.h, 02052016 X-HELO: einhorn.in-berlin.de Received: from einhorn.in-berlin.de (HELO einhorn.in-berlin.de) (192.109.42.8) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 09 May 2016 09:39:54 +0000 X-Envelope-From: doko@ubuntu.com Received: from [192.168.178.29] (ip5f5af410.dynamic.kabel-deutschland.de [95.90.244.16]) (authenticated bits=0) by einhorn.in-berlin.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id u499dpPu006273 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 9 May 2016 11:39:51 +0200 Subject: Re: [PATCH][CilkPlus] Merge libcilkrts from upstream To: Jeff Law , Ilya Verbin , gcc-patches@gcc.gnu.org References: <20160429113631.GA27336@msticlxl57.ims.intel.com> <6a243979-c9c9-ba5d-d41b-e0c57917e82d@redhat.com> <572DFD1A.6010903@ubuntu.com> Cc: Kirill Yukhin From: Matthias Klose Message-ID: <57305AE7.7050607@ubuntu.com> Date: Mon, 9 May 2016 11:39:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <572DFD1A.6010903@ubuntu.com> On 07.05.2016 16:35, Matthias Klose wrote: > On 02.05.2016 17:51, Jeff Law wrote: >> On 04/29/2016 05:36 AM, Ilya Verbin wrote: >>> Hi! >>> >>> This patch brings the latest libcilkrts from upstream. >>> Regtested on i686-linux and x86_64-linux. >>> >>> Abidiff: >>> Functions changes summary: 0 Removed, 1 Changed (16 filtered out), 2 Added >>> functions >>> Variables changes summary: 0 Removed, 0 Changed (1 filtered out), 0 Added >>> variable >>> 2 Added functions: >>> 'function void __cilkrts_resume()' {__cilkrts_resume@@CILKABI1} >>> 'function void __cilkrts_suspend()' {__cilkrts_suspend@@CILKABI1} >>> 1 function with some indirect sub-type change: >>> [C]'function __cilkrts_worker_ptr __cilkrts_bind_thread_1()' at >>> cilk-abi.c:412:1 has some indirect sub-type changes: >>> Please note that the symbol of this function is >>> __cilkrts_bind_thread@@CILKABI0 >>> and it aliases symbol: __cilkrts_bind_thread_1@@CILKABI1 >>> return type changed: >>> underlying type '__cilkrts_worker*' changed: >>> in pointed to type 'struct __cilkrts_worker' at abi.h:161:1: >>> 1 data member changes (8 filtered): >>> type of 'global_state_t* __cilkrts_worker::g' changed: >>> in pointed to type 'typedef global_state_t' at abi.h:113:1: >>> underlying type 'struct global_state_t' at global_state.h:119:1 >>> changed: >>> [...] >>> >>> OK for trunk? >>> >>> libcilkrts/ >>> * Makefile.am: Merge from upstream, version 2.0.4420.0 >>> . >>> * README: Likewise. >>> * configure.ac: Likewise. >>> * configure.tgt: Likewise. >>> * include/cilk/cilk.h: Likewise. >>> * include/cilk/cilk_api.h: Likewise. >>> * include/cilk/cilk_api_linux.h: Likewise. >>> * include/cilk/cilk_stub.h: Likewise. >>> * include/cilk/cilk_undocumented.h: Likewise. >>> * include/cilk/common.h: Likewise. >>> * include/cilk/holder.h: Likewise. >>> * include/cilk/hyperobject_base.h: Likewise. >>> * include/cilk/metaprogramming.h: Likewise. >>> * include/cilk/reducer.h: Likewise. >>> * include/cilk/reducer_file.h: Likewise. >>> * include/cilk/reducer_list.h: Likewise. >>> * include/cilk/reducer_max.h: Likewise. >>> * include/cilk/reducer_min.h: Likewise. >>> * include/cilk/reducer_min_max.h: Likewise. >>> * include/cilk/reducer_opadd.h: Likewise. >>> * include/cilk/reducer_opand.h: Likewise. >>> * include/cilk/reducer_opmul.h: Likewise. >>> * include/cilk/reducer_opor.h: Likewise. >>> * include/cilk/reducer_opxor.h: Likewise. >>> * include/cilk/reducer_ostream.h: Likewise. >>> * include/cilk/reducer_string.h: Likewise. >>> * include/cilktools/cilkscreen.h: Likewise. >>> * include/cilktools/cilkview.h: Likewise. >>> * include/cilktools/fake_mutex.h: Likewise. >>> * include/cilktools/lock_guard.h: Likewise. >>> * include/internal/abi.h: Likewise. >>> * include/internal/cilk_fake.h: Likewise. >>> * include/internal/cilk_version.h: Likewise. >>> * include/internal/metacall.h: Likewise. >>> * include/internal/rev.mk: Likewise. >>> * mk/cilk-version.mk: Likewise. >>> * runtime/acknowledgements.dox: Likewise. >>> * runtime/bug.cpp: Likewise. >>> * runtime/bug.h: Likewise. >>> * runtime/c_reducers.c: Likewise. >>> * runtime/cilk-abi-cilk-for.cpp: Likewise. >>> * runtime/cilk-abi-vla-internal.c: Likewise. >>> * runtime/cilk-abi-vla-internal.h: Likewise. >>> * runtime/cilk-abi.c: Likewise. >>> * runtime/cilk-ittnotify.h: Likewise. >>> * runtime/cilk-tbb-interop.h: Likewise. >>> * runtime/cilk_api.c: Likewise. >>> * runtime/cilk_fiber-unix.cpp: Likewise. >>> * runtime/cilk_fiber-unix.h: Likewise. >>> * runtime/cilk_fiber.cpp: Likewise. >>> * runtime/cilk_fiber.h: Likewise. >>> * runtime/cilk_malloc.c: Likewise. >>> * runtime/cilk_malloc.h: Likewise. >>> * runtime/component.h: Likewise. >>> * runtime/config/generic/cilk-abi-vla.c: Likewise. >>> * runtime/config/generic/os-fence.h: Likewise. >>> * runtime/config/generic/os-unix-sysdep.c: Likewise. >>> * runtime/config/x86/cilk-abi-vla.c: Likewise. >>> * runtime/config/x86/os-fence.h: Likewise. >>> * runtime/config/x86/os-unix-sysdep.c: Likewise. >>> * runtime/doxygen-layout.xml: Likewise. >>> * runtime/doxygen.cfg: Likewise. >>> * runtime/except-gcc.cpp: Likewise. >>> * runtime/except-gcc.h: Likewise. >>> * runtime/except.h: Likewise. >>> * runtime/frame_malloc.c: Likewise. >>> * runtime/frame_malloc.h: Likewise. >>> * runtime/full_frame.c: Likewise. >>> * runtime/full_frame.h: Likewise. >>> * runtime/global_state.cpp: Likewise. >>> * runtime/global_state.h: Likewise. >>> * runtime/jmpbuf.c: Likewise. >>> * runtime/jmpbuf.h: Likewise. >>> * runtime/linux-symbols.ver: Likewise. >>> * runtime/local_state.c: Likewise. >>> * runtime/local_state.h: Likewise. >>> * runtime/mac-symbols.txt: Likewise. >>> * runtime/metacall_impl.c: Likewise. >>> * runtime/metacall_impl.h: Likewise. >>> * runtime/os-unix.c: Likewise. >>> * runtime/os.h: Likewise. >>> * runtime/os_mutex-unix.c: Likewise. >>> * runtime/os_mutex.h: Likewise. >>> * runtime/pedigrees.c: Likewise. >>> * runtime/pedigrees.h: Likewise. >>> * runtime/record-replay.cpp: Likewise. >>> * runtime/record-replay.h: Likewise. >>> * runtime/reducer_impl.cpp: Likewise. >>> * runtime/reducer_impl.h: Likewise. >>> * runtime/rts-common.h: Likewise. >>> * runtime/scheduler.c: Likewise. >>> * runtime/scheduler.h: Likewise. >>> * runtime/signal_node.c: Likewise. >>> * runtime/signal_node.h: Likewise. >>> * runtime/spin_mutex.c: Likewise. >>> * runtime/spin_mutex.h: Likewise. >>> * runtime/stats.c: Likewise. >>> * runtime/stats.h: Likewise. >>> * runtime/sysdep-unix.c: Likewise. >>> * runtime/sysdep.h: Likewise. >>> * runtime/worker_mutex.c: Likewise. >>> * runtime/worker_mutex.h: Likewise. >>> * include/cilk/reducer_vector.h: New. >>> * runtime/cilk_str_mem.h: New. >>> * runtime/config/arm/cilk-abi-vla.c: New. >>> * runtime/config/arm/os-fence.h: New. >>> * runtime/config/arm/os-unix-sysdep.c: New. >>> * runtime/declare-alloca.h: New. >>> * runtime/sslib/ignore_handler_s.c: New. >>> * runtime/sslib/safe_lib.h: New. >>> * runtime/sslib/safe_lib_errno.h: New. >>> * runtime/sslib/safe_str_constraint.c: New. >>> * runtime/sslib/safe_str_constraint.h: New. >>> * runtime/sslib/safe_str_lib.h: New. >>> * runtime/sslib/safe_types.h: New. >>> * runtime/sslib/safeclib_private.h: New. >>> * runtime/sslib/snprintf_s.h: New. >>> * runtime/sslib/snprintf_support.c: New. >>> * runtime/sslib/strcpy_s.c: New. >>> * runtime/sslib/strncpy_s.c: New. >>> * runtime/sslib/strnlen_s.c: New. >>> * runtime/symbol_test.c: Remove. >>> * Makefile.in: Regenerate. >>> * configure: Regenerate. >> Given this is a merge from the official upstream sources, I think it should be >> considered OK without the need for a deep review. > > well, it breaks the build for many multilib configurations where multilib > binaries cannot be run on the current environment, e.g. building x32 multilibs > on a kernel which doesn't have x32 enabled. > > The reason is again moving compiler checks (AC_USE_SYSTEM_EXTENSIONS) in the > configure.ac before the AM_ENABLE_MULTILIB. > > So please move the AC_USE_SYSTEM_EXTENSIONS macro behind the AM_ENABLE_MULTILIB, > and forward this change upstream if applicable. > > example build log at > https://buildd.debian.org/status/fetch.php?pkg=gcc-snapshot&arch=amd64&ver=20160506-1&stamp=1462580913 fixed by: * configure.ac: Move AC_USE_SYSTEM_EXTENSIONS behind AM_ENABLE_MULTILIB. * configure: Regenerate. --- a/libcilkrts/configure.ac +++ b/libcilkrts/configure.ac @@ -51,9 +51,6 @@ target_alias=${target_alias-$host_alias} AC_SUBST(target_alias) -# Test for GNU extensions. Will define _GNU_SOURCE if they're available -AC_USE_SYSTEM_EXTENSIONS - AM_INIT_AUTOMAKE(foreign no-dist) AM_MAINTAINER_MODE @@ -60,6 +57,9 @@ AM_ENABLE_MULTILIB(, ..) +# Test for GNU extensions. Will define _GNU_SOURCE if they're available +AC_USE_SYSTEM_EXTENSIONS + # Build a DLL on Windows # AC_LIBTOOL_WIN32_DLL AC_PROG_CC