From 32db6312055372e223c0a3eb6cb72bfaacf6e8e3 Mon Sep 17 00:00:00 2001 From: Sven Boemer Date: Wed, 10 May 2023 10:09:52 -0700 Subject: [PATCH] Update mariner images to latest with LLVM 16 (#84676) This pulls in the updates from https://github.com/dotnet/dotnet-buildtools-prereqs-docker/commit/53fee55b4115616c7029782c9733055db1bc565a and moves to floating tags for the mariner images, which now build the product with LLVM 16. Once this flows to dotnet-optimization, this will require updates to make the LLVM 16 tools available there. Before the opt data collected with new LLVM flows into runtime, I plan to fix https://github.com/dotnet/runtime/issues/85785 so that local builds won't by default require clang-16. --- .../common/templates/pipeline-with-resources.yml | 14 +++++++------- .../src/eventprovider/lttngprovider/CMakeLists.txt | 5 +++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/eng/pipelines/common/templates/pipeline-with-resources.yml b/eng/pipelines/common/templates/pipeline-with-resources.yml index 93dcc7693cbfe..38db7a6cb1c15 100644 --- a/eng/pipelines/common/templates/pipeline-with-resources.yml +++ b/eng/pipelines/common/templates/pipeline-with-resources.yml @@ -5,7 +5,7 @@ parameters: resources: containers: - container: linux_arm - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-20230414190614-8100bf7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm env: ROOTFS_DIR: /crossrootfs/arm @@ -15,22 +15,22 @@ resources: ROOTFS_DIR: /crossrootfs/armv6 - container: linux_arm64 - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-20230414190614-8100bf7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64 env: ROOTFS_DIR: /crossrootfs/arm64 - container: linux_musl_x64 - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine-20230414190614-8100bf7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine env: ROOTFS_DIR: /crossrootfs/x64 - container: linux_musl_arm - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine-20230414190614-8100bf7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine env: ROOTFS_DIR: /crossrootfs/arm - container: linux_musl_arm64 - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine-20230414190614-8100bf7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine env: ROOTFS_DIR: /crossrootfs/arm64 # This container contains all required toolsets to build for Android and for Linux with bionic libc. @@ -39,12 +39,12 @@ resources: image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-android - container: linux_x64 - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-20230414190614-8100bf7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64 env: ROOTFS_DIR: /crossrootfs/x64 - container: linux_x86 - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-x86-20230414190614-8100bf7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-x86 env: ROOTFS_DIR: /crossrootfs/x86 diff --git a/src/coreclr/pal/src/eventprovider/lttngprovider/CMakeLists.txt b/src/coreclr/pal/src/eventprovider/lttngprovider/CMakeLists.txt index 4b7337f6e7008..715718bad4bca 100644 --- a/src/coreclr/pal/src/eventprovider/lttngprovider/CMakeLists.txt +++ b/src/coreclr/pal/src/eventprovider/lttngprovider/CMakeLists.txt @@ -62,9 +62,14 @@ add_dependencies(coreclrtraceptprovider generated_eventing_headers) find_library(LTTNG NAMES lttng-ust) +# --noinhibit-exec works around error produced by lld from LLVM 16 +# that is caused by invalid symbols in the lttng we are linking against: +# ld.lld: error: liblttng-ust.so: invalid local symbol '__stop___tracepoints_ptrs' in global part of symbol table +# see https://github.com/llvm/llvm-project/commit/3ac94280245415be66cb1b603367c5f4f6d498e7 target_link_libraries(coreclrtraceptprovider PRIVATE ${LTTNG} + -Wl,--noinhibit-exec ) set_target_properties(coreclrtraceptprovider PROPERTIES LINKER_LANGUAGE CXX)