compiler-rt/95796.patch
Tulio Magno Quites Machado Filho d732fbb109 Update to LLVM 18.1.8
Resolves: RHEL-28056
2024-07-23 15:42:44 -03:00

56 lines
1.8 KiB
Diff

From 1df9fd71f76a7731f198a174da19deaab50f10bb Mon Sep 17 00:00:00 2001
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Mon, 17 Jun 2024 11:25:36 -0300
Subject: [PATCH] [hwasan][aarch64] Fix missing DT_AARCH64_BTI_PLT flag
When building hwasan on aarch64, the DT_AARCH64_BTI_PLT flag is missing
from libclang_rt.hwasan.so because some object files without
DT_AARCH64_BTI_PLT are linked in the final DSO.
These files are specific to riscv64 and x86_64, ending up with no
aarch64 code in them.
Avoid building and linking architecture-specific files unless the
architecture is listed in HWASAN_SUPPORTED_ARCH.
---
compiler-rt/lib/hwasan/CMakeLists.txt | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/compiler-rt/lib/hwasan/CMakeLists.txt b/compiler-rt/lib/hwasan/CMakeLists.txt
index 6f75baa7e354f..086079c7536e5 100644
--- a/compiler-rt/lib/hwasan/CMakeLists.txt
+++ b/compiler-rt/lib/hwasan/CMakeLists.txt
@@ -15,16 +15,28 @@ set(HWASAN_RTL_SOURCES
hwasan_memintrinsics.cpp
hwasan_poisoning.cpp
hwasan_report.cpp
- hwasan_setjmp_aarch64.S
- hwasan_setjmp_riscv64.S
- hwasan_setjmp_x86_64.S
- hwasan_tag_mismatch_aarch64.S
- hwasan_tag_mismatch_riscv64.S
hwasan_thread.cpp
hwasan_thread_list.cpp
hwasan_type_test.cpp
)
+foreach(arch ${HWASAN_SUPPORTED_ARCH})
+ if(${arch} MATCHES "aarch64")
+ list(APPEND HWASAN_RTL_SOURCES
+ hwasan_setjmp_aarch64.S
+ hwasan_tag_mismatch_aarch64.S)
+ endif()
+ if(${arch} MATCHES "riscv64")
+ list(APPEND HWASAN_RTL_SOURCES
+ hwasan_setjmp_riscv64.S
+ hwasan_tag_mismatch_riscv64.S)
+ endif()
+ if(${arch} MATCHES "x86_64")
+ list(APPEND HWASAN_RTL_SOURCES
+ hwasan_setjmp_x86_64.S)
+ endif()
+endforeach()
+
set(HWASAN_RTL_CXX_SOURCES
hwasan_new_delete.cpp
)