d732fbb109
Resolves: RHEL-28056
56 lines
1.8 KiB
Diff
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
|
|
)
|