diff mbox

[CilkPlus] Merge libcilkrts from upstream

Message ID 57305AE7.7050607@ubuntu.com
State New
Headers show

Commit Message

Matthias Klose May 9, 2016, 9:39 a.m. UTC
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
>>>     <https://bitbucket.org/intelcilkruntime/intel-cilk-runtime.git>.
>>>     * 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.

Comments

Ilya Verbin May 10, 2016, 4:09 p.m. UTC | #1
On Mon, May 09, 2016 at 11:39:51 +0200, Matthias Klose wrote:
> >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

Thanks for investigating and fixing this.  The patch is pushed upstream.

  -- Ilya
diff mbox

Patch

--- 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