From nobody Wed Sep 20 17:03:25 2023 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RrPxT4KYvz4tvZL; Wed, 20 Sep 2023 17:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RrPxT41TCz4YP6; Wed, 20 Sep 2023 17:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695229405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P9OBsf7SjCr6jUfZ2Q4kw8pACwEALa40X5+e1AO2S9E=; b=yD1h1IyPPVYNc9JFbFLiTkSvdVubFxmL8vAM1iKRw897pMyTP51zmwf/zFy3rrmddMeRdg KKrKEEsYx0nKoFlQbtnE/QKzPUJJ19kR06SABw5EHmwlo3T2WA9ATNdao+mL8XZDwDvjKT yQ8QKd6xstQZmNMM+ywOySL2TjnOwBwhwNexmQiZGWY/ttd+N3KDdf9Xdtov4AHdaWSZf7 Ng44bzLq9eR5JJWNTueree4l5DrDcdD4H7g1fQe3ht9BY37KIU3oPz+Td2BT+pLE5tkSdN jwVqB9sy8wJGHCmyB/3e5NVzi9r6CC5P/IKVCCxzyx3ap8Po/Ve1F0qpl4i3Lg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695229405; a=rsa-sha256; cv=none; b=lEF4SJAfYQQk3F45w5CRWmhQS2cJnYlHTk/KaMHT/QZ0DG8dNJ8HTaFmZzP8QPUgIjD8SC yDo232CbjlcgxWGaheaLi+yE7jifesPcJz/vowbBfnXVyUy4FJoPQ5qRpqN5zXyeHr70zA kX5vxFmS5UDijN6qrUOMGxk+9VjVNgwZKtufNRVVvW+2b6dZKBJxkYGKmKUnDtwr79KdCR KM1+tGCirCpBIsyP3Do35nzz8DgEbiD5rv8N2aiNMcC2MnTA3SMbWChzjqxZusvW7ONc2A 9hCFhTgIZmeS5YNFbZ2An22Et/ew3l4PnVHT27CLU3i7A2u0YQS7C0YERopbCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695229405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P9OBsf7SjCr6jUfZ2Q4kw8pACwEALa40X5+e1AO2S9E=; b=P2WFom9G9BvPT1X43wc4zMrCOlSBVikRqWvCv6QzXLx83jLoW/kjm4bgF4w2+D7zjyodch PEeFwyt/0APglYxpcN5pye1adwHautyZY1knn5CVWlY3LzUwiJQiTITtjGRhz28zcfHoN0 Qf1MrmSDblihwwlaGsx60VIFXfikZSLZNGpG2Z/O5wvmxj+QNRPvVYkHePH4nfDAR/DcuV 0ZvWlrS/tH7HdQwvqJHdQLOZJ92rD5Bw7+KJe3KNhMWx9v79kNvmFmylEI9jzb4DT99jcN 4k3vL2IkqPPfjvTF8hEJwChgTyjBxpWKTIuhBUCNdi7kl79kvYdrFZBL4MkiJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RrPxT33j0z13qQ; Wed, 20 Sep 2023 17:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38KH3PfS052105; Wed, 20 Sep 2023 17:03:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38KH3PvP052102; Wed, 20 Sep 2023 17:03:25 GMT (envelope-from git) Date: Wed, 20 Sep 2023 17:03:25 GMT Message-Id: <202309201703.38KH3PvP052102@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Brooks Davis Subject: git: 50e51d2680b4 - main - devel/llvm10: fix build with llvm17 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 50e51d2680b46371c9d29c1b02fdd51aac17a86e Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/ports/commit/?id=50e51d2680b46371c9d29c1b02fdd51aac17a86e commit 50e51d2680b46371c9d29c1b02fdd51aac17a86e Author: Brooks Davis AuthorDate: 2023-09-20 15:50:23 +0000 Commit: Brooks Davis CommitDate: 2023-09-20 17:02:00 +0000 devel/llvm10: fix build with llvm17 Fix openmp linker scripts for llvm17. Use base system libelf and don't link against libffi. Reformat multi-line OPTION_CMAKE_ON variable. Co-authored-by: Dimitry Andric Co-authored-by: Ivan Rozhuk --- devel/llvm10/Makefile | 37 ++- .../files/openmp/patch-backport-version-fixes | 358 +++++++++++++++++++++ 2 files changed, 381 insertions(+), 14 deletions(-) diff --git a/devel/llvm10/Makefile b/devel/llvm10/Makefile index 98950097ba3d..c4715bb58fd1 100644 --- a/devel/llvm10/Makefile +++ b/devel/llvm10/Makefile @@ -111,17 +111,20 @@ CLANG_USE= GNOME=libxml2 COMPILER_RT_DESC= Sanitizer libraries COMPILER_RT_DISTFILES= compiler-rt-${DISTVERSION}.src${EXTRACT_SUFX} COMPILER_RT_EXTRA_PATCHES= ${PATCHDIR}/compiler-rt -COMPILER_RT_CMAKE_ON= -DCOMPILER_RT_INSTALL_PATH=${LLVM_PREFIX}/lib/clang/${LLVM_RELEASE} +COMPILER_RT_CMAKE_ON= \ + -DCOMPILER_RT_INSTALL_PATH=${LLVM_PREFIX}/lib/clang/${LLVM_RELEASE} COMPILER_RT_PLIST_FILES=${_COMPILER_RT_LIBS:S|^|${_CRTLIBDIR}/|} \ ${_COMPILER_RT_BLACKLISTS:S|^|${_CRTBLDIR}/|} -DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}recommonmark>=0.0.20180530:textproc/py-recommonmark@${PY_FLAVOR} +DOCS_BUILD_DEPENDS= \ + ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}recommonmark>=0.0.20180530:textproc/py-recommonmark@${PY_FLAVOR} DOCS_CONFLICTS_BUILD= cmark DOCS_PORTDOCS= llvm -DOCS_CMAKE_ON= -DLLVM_ENABLE_SPHINX=ON \ - -DSPHINX_EXECUTABLE=${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} \ - -DSPHINX_WARNINGS_AS_ERRORS=OFF \ - -DLLVM_BUILD_DOCS=ON +DOCS_CMAKE_ON= \ + -DLLVM_ENABLE_SPHINX=ON \ + -DSPHINX_EXECUTABLE=${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} \ + -DSPHINX_WARNINGS_AS_ERRORS=OFF \ + -DLLVM_BUILD_DOCS=ON DOCS_PLIST_FILES= ${MAN1SRCS:S|^|man/man1/|:S|.1$|${LLVM_SUFFIX}.1.gz|} EXTRAS_DESC= Extra clang tools EXTRAS_EXTRA_PATCHES= ${PATCHDIR}/extras @@ -136,13 +139,14 @@ LLD_DESC= Install lld, the LLVM linker LLD_DISTFILES= lld-${DISTVERSION}.src${EXTRACT_SUFX} LLDB_BINARY_ALIAS= swig=swig40 LLDB_BUILD_DEPENDS= swig40:devel/swig40 -LLDB_CMAKE_ON= -DLUA_INCLUDE_DIR=${LOCALBASE}/include/lua${LUA_VER_STR} \ - -DLUA_LIBRARY=${LOCALBASE}/lib/liblua-${LUA_VER}.so \ - -DCURSES_INCLUDE_PATH=/usr/include \ - -DCURSES_CURSES_LIBRARY=/usr/lib/libcurses.so \ - -DCURSES_FORM_LIBRARY=/usr/lib/libform.so \ - -DCURSES_NCURSES_LIBRARY=/usr/lib/libncurses.so \ - -DPANEL_LIBRARIES=/usr/lib/libpanel.so +LLDB_CMAKE_ON= \ + -DLUA_INCLUDE_DIR=${LOCALBASE}/include/lua${LUA_VER_STR} \ + -DLUA_LIBRARY=${LOCALBASE}/lib/liblua-${LUA_VER}.so \ + -DCURSES_INCLUDE_PATH=/usr/include \ + -DCURSES_CURSES_LIBRARY=/usr/lib/libcurses.so \ + -DCURSES_FORM_LIBRARY=/usr/lib/libform.so \ + -DCURSES_NCURSES_LIBRARY=/usr/lib/libncurses.so \ + -DPANEL_LIBRARIES=/usr/lib/libpanel.so LLDB_DESC= Install lldb, the LLVM debugger LLDB_DISTFILES= lldb-${DISTVERSION}.src${EXTRACT_SUFX} LLDB_EXTRA_PATCHES= ${PATCHDIR}/lldb @@ -150,6 +154,11 @@ LLDB_IMPLIES= CLANG LLDB_PORTDOCS= lldb LLDB_VARS= _USES_PYTHON=python OPENMP_DESC= Install libomp, the LLVM OpenMP runtime library +OPENMP_CMAKE_ON= \ + -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR="/usr/include/libelf.h" \ + -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES="/usr/lib/libelf.so" \ + -DLIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR="" \ + -DLIBOMPTARGET_DEP_LIBFFI_LIBRARIES="" OPENMP_DISTFILES= openmp-${DISTVERSION}.src${EXTRACT_SUFX} OPENMP_EXTRA_PATCHES= ${PATCHDIR}/openmp PYCLANG_DESC= Install python bindings to libclang diff --git a/devel/llvm10/files/openmp/patch-backport-version-fixes b/devel/llvm10/files/openmp/patch-backport-version-fixes new file mode 100644 index 000000000000..d3a86567fe8b --- /dev/null +++ b/devel/llvm10/files/openmp/patch-backport-version-fixes @@ -0,0 +1,358 @@ +commit bba9c39a53588d4cdf0d033e02fc0b630678affa +Author: Dimitry Andric +Date: 2023-09-20T09:14:29+02:00 + + devel/llvm10: fix build with lld 17 + +diff --git a/devel/llvm10/files/openmp/patch-backport-version-fixes b/devel/llvm10/files/openmp/patch-backport-version-fixes +new file mode 100644 +index 000000000000..ab3129432bbc +--- /dev/null ++++ b/devel/llvm10/files/openmp/patch-backport-version-fixes +@@ -0,0 +1,202 @@ ++diff --git projects/openmp/libomptarget/plugins/exports projects/openmp/libomptarget/plugins/exports ++index a14bedf0791a..cc7beda183af 100644 ++--- projects/openmp/libomptarget/plugins/exports +++++ projects/openmp/libomptarget/plugins/exports ++@@ -1,16 +1,6 @@ ++ VERS1.0 { ++ global: ++- __tgt_rtl_is_valid_binary; ++- __tgt_rtl_number_of_devices; ++- __tgt_rtl_init_requires; ++- __tgt_rtl_init_device; ++- __tgt_rtl_load_binary; ++- __tgt_rtl_data_alloc; ++- __tgt_rtl_data_submit; ++- __tgt_rtl_data_retrieve; ++- __tgt_rtl_data_delete; ++- __tgt_rtl_run_target_team_region; ++- __tgt_rtl_run_target_region; +++ __tgt_rtl*; ++ local: ++ *; ++ }; ++diff --git projects/openmp/runtime/cmake/LibompHandleFlags.cmake projects/openmp/runtime/cmake/LibompHandleFlags.cmake ++index 0b8e3a35c888..cacc192eb378 100644 ++--- projects/openmp/runtime/cmake/LibompHandleFlags.cmake +++++ projects/openmp/runtime/cmake/LibompHandleFlags.cmake ++@@ -94,7 +94,6 @@ function(libomp_get_ldflags ldflags) ++ IF_DEFINED CMAKE_C_OSX_CURRENT_VERSION_FLAG) ++ libomp_append(ldflags_local "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}${LIBOMP_VERSION_MAJOR}.${LIBOMP_VERSION_MINOR}" ++ IF_DEFINED CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG) ++- libomp_append(ldflags_local -Wl,--warn-shared-textrel LIBOMP_HAVE_WARN_SHARED_TEXTREL_FLAG) ++ libomp_append(ldflags_local -Wl,--as-needed LIBOMP_HAVE_AS_NEEDED_FLAG) ++ libomp_append(ldflags_local "-Wl,--version-script=${LIBOMP_SRC_DIR}/exports_so.txt" LIBOMP_HAVE_VERSION_SCRIPT_FLAG) ++ libomp_append(ldflags_local -static-libgcc LIBOMP_HAVE_STATIC_LIBGCC_FLAG) ++diff --git projects/openmp/runtime/cmake/config-ix.cmake projects/openmp/runtime/cmake/config-ix.cmake ++index 3419dd8cd788..fb7a644155e2 100644 ++--- projects/openmp/runtime/cmake/config-ix.cmake +++++ projects/openmp/runtime/cmake/config-ix.cmake ++@@ -100,9 +100,8 @@ if(WIN32) ++ libomp_check_linker_flag(/SAFESEH LIBOMP_HAVE_SAFESEH_FLAG) ++ elseif(NOT APPLE) ++ libomp_check_linker_flag(-Wl,-x LIBOMP_HAVE_X_FLAG) ++- libomp_check_linker_flag(-Wl,--warn-shared-textrel LIBOMP_HAVE_WARN_SHARED_TEXTREL_FLAG) ++ libomp_check_linker_flag(-Wl,--as-needed LIBOMP_HAVE_AS_NEEDED_FLAG) ++- libomp_check_linker_flag("-Wl,--version-script=${LIBOMP_SRC_DIR}/exports_so.txt" LIBOMP_HAVE_VERSION_SCRIPT_FLAG) +++ libomp_check_linker_flag("-Wl,--version-script=${LIBOMP_SRC_DIR}/exports_test_so.txt" LIBOMP_HAVE_VERSION_SCRIPT_FLAG) ++ libomp_check_linker_flag(-static-libgcc LIBOMP_HAVE_STATIC_LIBGCC_FLAG) ++ libomp_check_linker_flag(-Wl,-z,noexecstack LIBOMP_HAVE_Z_NOEXECSTACK_FLAG) ++ endif() ++diff --git projects/openmp/runtime/src/exports_so.txt projects/openmp/runtime/src/exports_so.txt ++index f7de5fd6474f..07a5424595bb 100644 ++--- projects/openmp/runtime/src/exports_so.txt +++++ projects/openmp/runtime/src/exports_so.txt ++@@ -74,10 +74,8 @@ VERSION { ++ __kmp_fork_call; ++ __kmp_invoke_microtask; ++ #if KMP_USE_MONITOR ++- __kmp_launch_monitor; ++ __kmp_reap_monitor; ++ #endif ++- __kmp_launch_worker; ++ __kmp_reap_worker; ++ __kmp_release_64; ++ __kmp_wait_64; ++diff --git projects/openmp/runtime/src/exports_test_so.txt projects/openmp/runtime/src/exports_test_so.txt ++new file mode 100644 ++index 000000000000..912d160e7c06 ++--- /dev/null +++++ projects/openmp/runtime/src/exports_test_so.txt ++@@ -0,0 +1,60 @@ +++# exports_test_so.txt # +++ +++# +++#//===----------------------------------------------------------------------===// +++#// +++#// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +++#// See https://llvm.org/LICENSE.txt for license information. +++#// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +++#// +++#//===----------------------------------------------------------------------===// +++# +++ +++# This is used only to test if the linker supports version scripts. If the full +++# version script it used we may error on undefined symbols and erroneously fail. +++ +++VERSION { +++ +++ global: # Exported symbols. +++ +++ *; # All symbols as exported for testing. +++ +++ local: # Non-exported symbols. +++ +++ *; # All other symbols are not exported. +++ +++}; # VERSION +++ +++# sets up GCC OMP_ version dependency chain +++OMP_1.0 { +++}; +++OMP_2.0 { +++} OMP_1.0; +++OMP_3.0 { +++} OMP_2.0; +++OMP_3.1 { +++} OMP_3.0; +++OMP_4.0 { +++} OMP_3.1; +++OMP_4.5 { +++} OMP_4.0; +++OMP_5.0 { +++} OMP_4.5; +++ +++# sets up GCC GOMP_ version dependency chain +++GOMP_1.0 { +++}; +++GOMP_2.0 { +++} GOMP_1.0; +++GOMP_3.0 { +++} GOMP_2.0; +++GOMP_4.0 { +++} GOMP_3.0; +++GOMP_4.5 { +++} GOMP_4.0; +++GOMP_5.0 { +++} GOMP_4.5; +++GOMP_5.0.1 { +++} GOMP_5.0; +++ +++# end of file # ++diff --git projects/openmp/runtime/src/kmp_runtime.cpp projects/openmp/runtime/src/kmp_runtime.cpp ++index acd157db8e52..acc431ea0d7e 100644 ++--- projects/openmp/runtime/src/kmp_runtime.cpp +++++ projects/openmp/runtime/src/kmp_runtime.cpp ++@@ -8297,3 +8297,20 @@ int __kmp_pause_resource(kmp_pause_status_t level) { ++ return 1; ++ } ++ } +++ +++// Empty symbols to export (see exports_so.txt) when feature is disabled +++extern "C" { +++#if !KMP_STATS_ENABLED +++void __kmp_reset_stats() {} +++#endif +++#if !USE_DEBUGGER +++int __kmp_omp_debug_struct_info = FALSE; +++int __kmp_debugging = FALSE; +++#endif +++#if !USE_ITT_BUILD || !USE_ITT_NOTIFY +++void __kmp_itt_fini_ittlib() {} +++void __kmp_itt_init_ittlib() {} +++#endif +++} +++ +++// end of file ++diff --git projects/openmp/runtime/src/kmp_utility.cpp projects/openmp/runtime/src/kmp_utility.cpp ++index 44a99d0455b3..e04c9cbf4537 100644 ++--- projects/openmp/runtime/src/kmp_utility.cpp +++++ projects/openmp/runtime/src/kmp_utility.cpp ++@@ -407,3 +407,16 @@ void __kmp_expand_file_name(char *result, size_t rlen, char *pattern) { ++ ++ *pos = '\0'; ++ } +++ +++#if !OMPT_SUPPORT +++extern "C" { +++typedef struct ompt_start_tool_result_t ompt_start_tool_result_t; +++// Define symbols expected by VERSION script +++ompt_start_tool_result_t *ompt_start_tool(unsigned int omp_version, +++ const char *runtime_version) { +++ return nullptr; +++} +++ +++void ompt_libomp_connect(ompt_start_tool_result_t *result) { result = nullptr; } +++} +++#endif ++diff --git projects/openmp/runtime/src/z_Linux_util.cpp projects/openmp/runtime/src/z_Linux_util.cpp ++index 1daa3d31047e..174ef2145205 100644 ++--- projects/openmp/runtime/src/z_Linux_util.cpp +++++ projects/openmp/runtime/src/z_Linux_util.cpp ++@@ -1049,7 +1049,7 @@ void __kmp_exit_thread(int exit_status) { ++ #if KMP_USE_MONITOR ++ void __kmp_resume_monitor(); ++ ++-void __kmp_reap_monitor(kmp_info_t *th) { +++extern "C" void __kmp_reap_monitor(kmp_info_t *th) { ++ int status; ++ void *exit_val; ++ ++@@ -1091,6 +1091,12 @@ void __kmp_reap_monitor(kmp_info_t *th) { ++ ++ KMP_MB(); /* Flush all pending memory write invalidates. */ ++ } +++#else +++// Empty symbol to export (see exports_so.txt) when +++// monitor thread feature is disabled +++extern "C" void __kmp_reap_monitor(kmp_info_t *th) { +++ (void)th; +++} ++ #endif // KMP_USE_MONITOR ++ ++ void __kmp_reap_worker(kmp_info_t *th) { +diff --git a/devel/llvm10/files/patch-backport-version-fixes b/devel/llvm10/files/patch-backport-version-fixes +new file mode 100644 +index 000000000000..0faee193caec +--- /dev/null ++++ b/devel/llvm10/files/patch-backport-version-fixes +@@ -0,0 +1,138 @@ ++diff --git tools/lto/CMakeLists.txt tools/lto/CMakeLists.txt ++index b86e4abd01a7..d814df767b65 100644 ++--- tools/lto/CMakeLists.txt +++++ tools/lto/CMakeLists.txt ++@@ -18,7 +18,11 @@ set(SOURCES ++ lto.cpp ++ ) ++ ++-set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports) +++if (LLVM_LINK_LLVM_DYLIB) +++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.dylib.exports) +++else() +++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports) +++endif() ++ ++ add_llvm_library(LTO SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES} DEPENDS intrinsics_gen) ++ ++diff --git tools/lto/lto.dylib.exports tools/lto/lto.dylib.exports ++new file mode 100644 ++index 000000000000..4a1fff8f93ca ++--- /dev/null +++++ tools/lto/lto.dylib.exports ++@@ -0,0 +1,74 @@ +++lto_get_error_message +++lto_get_version +++lto_initialize_disassembler +++lto_module_create +++lto_module_create_from_fd +++lto_module_create_from_fd_at_offset +++lto_module_create_from_memory +++lto_module_create_from_memory_with_path +++lto_module_create_in_local_context +++lto_module_create_in_codegen_context +++lto_module_get_linkeropts +++lto_module_get_num_symbols +++lto_module_get_symbol_attribute +++lto_module_get_symbol_name +++lto_module_get_target_triple +++lto_module_set_target_triple +++lto_module_is_object_file +++lto_module_is_object_file_for_target +++lto_module_is_object_file_in_memory +++lto_module_is_object_file_in_memory_for_target +++lto_module_has_objc_category +++lto_module_dispose +++lto_api_version +++lto_codegen_set_diagnostic_handler +++lto_codegen_add_module +++lto_codegen_set_module +++lto_codegen_add_must_preserve_symbol +++lto_codegen_compile +++lto_codegen_create +++lto_codegen_create_in_local_context +++lto_codegen_dispose +++lto_codegen_set_debug_model +++lto_codegen_set_pic_model +++lto_codegen_write_merged_modules +++lto_codegen_debug_options +++lto_codegen_debug_options_array +++lto_codegen_set_assembler_args +++lto_codegen_set_assembler_path +++lto_codegen_set_cpu +++lto_codegen_compile_to_file +++lto_codegen_optimize +++lto_codegen_compile_optimized +++lto_codegen_set_should_internalize +++lto_codegen_set_should_embed_uselists +++thinlto_create_codegen +++thinlto_codegen_dispose +++thinlto_codegen_add_module +++thinlto_codegen_process +++thinlto_module_get_num_objects +++thinlto_module_get_object +++thinlto_codegen_set_pic_model +++thinlto_codegen_set_cache_dir +++thinlto_codegen_set_cache_pruning_interval +++thinlto_codegen_set_cache_entry_expiration +++thinlto_codegen_set_final_cache_size_relative_to_available_space +++thinlto_codegen_set_cache_size_bytes +++thinlto_codegen_set_cache_size_megabytes +++thinlto_codegen_set_cache_size_files +++thinlto_codegen_set_savetemps_dir +++thinlto_codegen_set_cpu +++thinlto_debug_options +++lto_module_is_thinlto +++thinlto_codegen_add_must_preserve_symbol +++thinlto_codegen_add_cross_referenced_symbol +++thinlto_codegen_set_codegen_only +++thinlto_codegen_disable_codegen +++thinlto_module_get_num_object_files +++thinlto_module_get_object_file +++thinlto_set_generated_objects_dir +++lto_input_create +++lto_input_dispose +++lto_input_get_num_dependent_libraries +++lto_input_get_dependent_library +++lto_runtime_lib_symbols_list ++diff --git tools/lto/lto.exports tools/lto/lto.exports ++index fd2212cb5f33..4a1fff8f93ca 100644 ++--- tools/lto/lto.exports +++++ tools/lto/lto.exports ++@@ -42,12 +42,6 @@ lto_codegen_optimize ++ lto_codegen_compile_optimized ++ lto_codegen_set_should_internalize ++ lto_codegen_set_should_embed_uselists ++-LLVMCreateDisasm ++-LLVMCreateDisasmCPU ++-LLVMDisasmDispose ++-LLVMDisasmInstruction ++-LLVMSetDisasmOptions ++-LLVMCreateDisasmCPUFeatures ++ thinlto_create_codegen ++ thinlto_codegen_dispose ++ thinlto_codegen_add_module ++diff --git tools/remarks-shlib/CMakeLists.txt tools/remarks-shlib/CMakeLists.txt ++index e948496c603a..4c66ad487070 100644 ++--- tools/remarks-shlib/CMakeLists.txt +++++ tools/remarks-shlib/CMakeLists.txt ++@@ -6,7 +6,11 @@ set(SOURCES ++ libremarks.cpp ++ ) ++ ++-set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) +++if (LLVM_LINK_LLVM_DYLIB) +++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.dylib.exports) +++else() +++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) +++endif() ++ ++ add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES}) ++ ++diff --git tools/remarks-shlib/Remarks.dylib.exports tools/remarks-shlib/Remarks.dylib.exports ++new file mode 100644 ++index 000000000000..0c2a3c38c78c ++--- /dev/null +++++ tools/remarks-shlib/Remarks.dylib.exports ++@@ -0,0 +1 @@ +++LLVMRemarkVersion