[all-commits] [llvm/llvm-project] cdb30f: [clang] Do not instrument the rtti_proxies under h...
PiJoules via All-commits
all-commits at lists.llvm.org
Fri Aug 26 11:23:42 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cdb30f7a26354b000310ebe30a6874f7737675ed
https://github.com/llvm/llvm-project/commit/cdb30f7a26354b000310ebe30a6874f7737675ed
Author: Leonard Chan <leonardchan at google.com>
Date: 2022-08-26 (Fri, 26 Aug 2022)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGVTables.h
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
Log Message:
-----------
[clang] Do not instrument the rtti_proxies under hwasan
We run into a duplicate symbol error when instrumenting the rtti_proxies
generated as part of the relative vtables ABI with hwasan:
```
ld.lld: error: duplicate symbol: typeinfo for icu_71::UObject
(.rtti_proxy)
>>> defined at brkiter.cpp
>>>
arm64-hwasan-shared/obj/third_party/icu/source/common/libicuuc.brkiter.cpp.o:(typeinfo
for icu_71::UObject (.rtti_proxy))
>>> defined at locavailable.cpp
>>>
arm64-hwasan-shared/obj/third_party/icu/source/common/libicuuc.locavailable.cpp.o:(.data.rel.ro..L_ZTIN6icu_717UObjectE.rtti_proxy.hwasan+0xE00000000000000)
```
The issue here is that the hwasan alias carries over the visibility and
linkage of the original proxy, so we have duplicate external symbols
that participate in linking. Similar to D132425 we can just disable
hwasan for the proxies for now.
Differential Revision: https://reviews.llvm.org/D132691
More information about the All-commits
mailing list