[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
  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
>>> defined at brkiter.cpp
for icu_71::UObject (.rtti_proxy))
>>> defined at locavailable.cpp

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