[go: nahoru, domu]

Skip to content

Commit

Permalink
[hwasan][aarch64] Fix missing DT_AARCH64_BTI_PLT flag (#95796)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
tuliom committed Jun 21, 2024
1 parent 7d2c2af commit b515d9e
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions compiler-rt/lib/hwasan/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
)
Expand Down

0 comments on commit b515d9e

Please sign in to comment.