[llvm-bugs] [Bug 51116] New: libom us nort LTO ready

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jul 16 13:11:17 PDT 2021


https://bugs.llvm.org/show_bug.cgi?id=51116

            Bug ID: 51116
           Summary: libom us nort LTO ready
           Product: libraries
           Version: 12.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: OrcJIT
          Assignee: unassignedbugs at nondot.org
          Reporter: kloczko.tomasz at gmail.com
                CC: 1101.debian at gmail.com, llvm-bugs at lists.llvm.org

Looks like libomp code is not LTO ready

[  7%] Linking C shared library libomp.so
cd
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu/runtime/src
&& /usr/bin/cmake -E cmake_link_script CMakeFiles/omp.dir/link.txt --verbose=1
/usr/bin/gcc -fPIC -O2 -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fdata-sections -ffunction-sections -flto=auto -flto-partition=none -Wall
-Wcast-qual -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic
-Wno-maybe-uninitialized -DNDEBUG -Wl,--warn-shared-textrel -Wl,--as-needed
-Wl,--version-script=/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/exports_so.txt
-static-libgcc -Wl,-z,noexecstack -Wl,-z,relro -Wl,--as-needed
-Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-flto=auto -flto-partition=none -fuse-linker-plugin -shared
-Wl,-soname,libomp.so -o libomp.so CMakeFiles/omp.dir/kmp_alloc.cpp.o
CMakeFiles/omp.dir/kmp_atomic.cpp.o CMakeFiles/omp.dir/kmp_csupport.cpp.o
CMakeFiles/omp.dir/kmp_debug.cpp.o CMakeFiles/omp.dir/kmp_itt.cpp.o
CMakeFiles/omp.dir/kmp_environment.cpp.o CMakeFiles/omp.dir/kmp_error.cpp.o
CMakeFiles/omp.dir/kmp_global.cpp.o CMakeFiles/omp.dir/kmp_i18n.cpp.o
CMakeFiles/omp.dir/kmp_io.cpp.o CMakeFiles/omp.dir/kmp_runtime.cpp.o
CMakeFiles/omp.dir/kmp_settings.cpp.o CMakeFiles/omp.dir/kmp_str.cpp.o
CMakeFiles/omp.dir/kmp_tasking.cpp.o CMakeFiles/omp.dir/kmp_threadprivate.cpp.o
CMakeFiles/omp.dir/kmp_utility.cpp.o CMakeFiles/omp.dir/kmp_barrier.cpp.o
CMakeFiles/omp.dir/kmp_wait_release.cpp.o CMakeFiles/omp.dir/kmp_affinity.cpp.o
CMakeFiles/omp.dir/kmp_dispatch.cpp.o CMakeFiles/omp.dir/kmp_lock.cpp.o
CMakeFiles/omp.dir/kmp_sched.cpp.o CMakeFiles/omp.dir/z_Linux_util.cpp.o
CMakeFiles/omp.dir/kmp_gsupport.cpp.o
CMakeFiles/omp.dir/thirdparty/ittnotify/ittnotify_static.cpp.o
CMakeFiles/omp.dir/kmp_taskdeps.cpp.o CMakeFiles/omp.dir/kmp_cancel.cpp.o
CMakeFiles/omp.dir/kmp_ftn_cdecl.cpp.o CMakeFiles/omp.dir/kmp_ftn_extra.cpp.o
CMakeFiles/omp.dir/kmp_version.cpp.o CMakeFiles/omp.dir/ompt-general.cpp.o
CMakeFiles/omp.dir/z_Linux_asm.S.o  -ldl
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2524:32:
warning: type ‘struct kmp_base_info’ violates the C++ One Definition Rule
[-Wodr]
 2524 | typedef struct KMP_ALIGN_CACHE kmp_base_info {
      |                                ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2524:32:
note: a different type is defined in another translation unit
 2524 | typedef struct KMP_ALIGN_CACHE kmp_base_info {
      |                                ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2558:26:
note: the first difference of corresponding definitions is field
‘th_def_allocator’
 2558 |   omp_allocator_handle_t th_def_allocator; /* default allocator */
      |                          ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2558:26:
note: a field of same name but different type is defined in another translation
unit
 2558 |   omp_allocator_handle_t th_def_allocator; /* default allocator */
      |                          ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2524:32:
note: type ‘void *’ should match type ‘omp_allocator_handle_t’
 2524 | typedef struct KMP_ALIGN_CACHE kmp_base_info {
      |                                ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2664:31:
warning: type ‘union kmp_info’ violates the C++ One Definition Rule [-Wodr]
 2664 | typedef union KMP_ALIGN_CACHE kmp_info {
      |                               ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2664:31:
note: a different type is defined in another translation unit
 2664 | typedef union KMP_ALIGN_CACHE kmp_info {
      |                               ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2667:19:
note: the first difference of corresponding definitions is field ‘th’
 2667 |   kmp_base_info_t th;
      |                   ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2667:19:
note: a field of same name but different type is defined in another translation
unit
 2667 |   kmp_base_info_t th;
      |                   ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2664:31:
note: type ‘struct kmp_base_info_t’ itself violates the C++ One Definition Rule
 2664 | typedef union KMP_ALIGN_CACHE kmp_info {
      |                               ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2707:32:
warning: type ‘struct kmp_base_team’ violates the C++ One Definition Rule
[-Wodr]
 2707 | typedef struct KMP_ALIGN_CACHE kmp_base_team {
      |                                ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2707:32:
note: a different type is defined in another translation unit
 2707 | typedef struct KMP_ALIGN_CACHE kmp_base_team {
      |                                ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2776:26:
note: the first difference of corresponding definitions is field
‘t_def_allocator’
 2776 |   omp_allocator_handle_t t_def_allocator; /* default allocator */
      |                          ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2776:26:
note: a field of same name but different type is defined in another translation
unit
 2776 |   omp_allocator_handle_t t_def_allocator; /* default allocator */
      |                          ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2707:32:
note: type ‘omp_allocator_handle_t’ should match type ‘void *’
 2707 | typedef struct KMP_ALIGN_CACHE kmp_base_team {
      |                                ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2801:23:
warning: type ‘union kmp_team’ violates the C++ One Definition Rule [-Wodr]
 2801 | union KMP_ALIGN_CACHE kmp_team {
      |                       ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2801:23:
note: a different type is defined in another translation unit
 2801 | union KMP_ALIGN_CACHE kmp_team {
      |                       ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2802:19:
note: the first difference of corresponding definitions is field ‘t’
 2802 |   kmp_base_team_t t;
      |                   ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2802:19:
note: a field of same name but different type is defined in another translation
unit
 2802 |   kmp_base_team_t t;
      |                   ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:2801:23:
note: type ‘struct kmp_base_team_t’ itself violates the C++ One Definition Rule
 2801 | union KMP_ALIGN_CACHE kmp_team {
      |                       ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:978:14:
warning: type of ‘__kmpc_realloc’ does not match original declaration
[-Wlto-type-mismatch]
  978 | extern void *__kmpc_realloc(int gtid, void *ptr, size_t sz,
      |              ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1636:7:
note: type mismatch in parameter 4
 1636 | void *__kmpc_realloc(int gtid, void *ptr, size_t size,
      |       ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1636:7:
note: type ‘void *’ should match type ‘omp_allocator_handle_t’
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1636:7:
note: ‘__kmpc_realloc’ was previously declared here
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1636:7:
note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:981:13:
warning: type of ‘__kmpc_free’ does not match original declaration
[-Wlto-type-mismatch]
  981 | extern void __kmpc_free(int gtid, void *ptr, omp_allocator_handle_t
al);
      |             ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1677:6:
note: type mismatch in parameter 3
 1677 | void __kmpc_free(int gtid, void *ptr, const omp_allocator_handle_t
allocator) {
      |      ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1677:6:
note: type ‘void *’ should match type ‘omp_allocator_handle_t’
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1677:6:
note: ‘__kmpc_free’ was previously declared here
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1677:6:
note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:976:14:
warning: type of ‘__kmpc_calloc’ does not match original declaration
[-Wlto-type-mismatch]
  976 | extern void *__kmpc_calloc(int gtid, size_t nmemb, size_t sz,
      |              ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1603:7:
note: type mismatch in parameter 4
 1603 | void *__kmpc_calloc(int gtid, size_t nmemb, size_t size,
      |       ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1603:7:
note: type ‘void *’ should match type ‘omp_allocator_handle_t’
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1603:7:
note: ‘__kmpc_calloc’ was previously declared here
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1603:7:
note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:975:14:
warning: type of ‘__kmpc_alloc’ does not match original declaration
[-Wlto-type-mismatch]
  975 | extern void *__kmpc_alloc(int gtid, size_t sz, omp_allocator_handle_t
al);
      |              ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1460:7:
note: type mismatch in parameter 3
 1460 | void *__kmpc_alloc(int gtid, size_t size, omp_allocator_handle_t
allocator) {
      |       ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1460:7:
note: type ‘void *’ should match type ‘omp_allocator_handle_t’
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1460:7:
note: ‘__kmpc_alloc’ was previously declared here
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_alloc.cpp:1460:7:
note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:3131:21:
warning: ‘__kmp_threads’ violates the C++ One Definition Rule [-Wodr]
 3131 | extern kmp_info_t **__kmp_threads; /* Descriptors for the threads */
      |                     ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_global.cpp:428:14:
note: type ‘union kmp_info_t’ itself violates the C++ One Definition Rule
  428 | kmp_info_t **__kmp_threads = NULL;
      |              ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp.h:3131:21:
warning: ‘__kmp_threads’ violates the C++ One Definition Rule [-Wodr]
 3131 | extern kmp_info_t **__kmp_threads; /* Descriptors for the threads */
      |                     ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_global.cpp:428:14:
note: type ‘union kmp_info_t’ itself violates the C++ One Definition Rule
  428 | kmp_info_t **__kmp_threads = NULL;
      |              ^
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_global.cpp:428:14:
note: ‘__kmp_threads’ was previously declared here
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/runtime/src/kmp_global.cpp:428:14:
note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
{standard input}: Assembler messages:
{standard input}: Error: invalid attempt to declare external version name as
default in symbol `GOMP_atomic_end@@VERSION'
lto-wrapper: fatal error: /usr/bin/gcc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[2]: *** [runtime/src/CMakeFiles/omp.dir/build.make:596:
runtime/src/libomp.so] Error 1
make[2]: Target 'runtime/src/CMakeFiles/omp.dir/build' not remade because of
errors.
make[2]: Leaving directory
'/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:273: runtime/src/CMakeFiles/omp.dir/all]
Error 2
make  -f tools/archer/CMakeFiles/archer_static.dir/build.make
tools/archer/CMakeFiles/archer_static.dir/depend
make[2]: Entering directory
'/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu &&
/usr/bin/cmake -E cmake_depends "Unix Makefiles"
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/tools/archer
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu/tools/archer
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu/tools/archer/CMakeFiles/archer_static.dir/DependInfo.cmake
--color=
Consolidate compiler generated dependencies of target archer_static
make[2]: Leaving directory
'/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu'
make  -f tools/archer/CMakeFiles/archer_static.dir/build.make
tools/archer/CMakeFiles/archer_static.dir/build
make[2]: Entering directory
'/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu'
make[2]: Nothing to be done for
'tools/archer/CMakeFiles/archer_static.dir/build'.
make[2]: Leaving directory
'/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu'
[ 12%] Built target archer_static
make  -f tools/archer/CMakeFiles/archer.dir/build.make
tools/archer/CMakeFiles/archer.dir/depend
make[2]: Entering directory
'/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu &&
/usr/bin/cmake -E cmake_depends "Unix Makefiles"
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/tools/archer
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu/tools/archer
/home/tkloczko/rpmbuild/BUILD/openmp-12.0.1.src/x86_64-redhat-linux-gnu/tools/archer/CMakeFiles/archer.dir/DependInfo.cmake
--color=

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210716/ad9e975b/attachment-0001.html>


More information about the llvm-bugs mailing list