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