<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - libom us nort LTO ready"
   href="https://bugs.llvm.org/show_bug.cgi?id=51116">51116</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>libom us nort LTO ready
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>12.0
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>OrcJIT
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>kloczko.tomasz@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>1101.debian@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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=</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>