[all-commits] [llvm/llvm-project] c6e5c4: Don't use $ as suffix for symbol names in ThinLTOB...

Hans via All-commits all-commits at lists.llvm.org
Mon Mar 29 04:17:06 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c6e5c4654bd5045fe22a1a52779e48e2038a404c
      https://github.com/llvm/llvm-project/commit/c6e5c4654bd5045fe22a1a52779e48e2038a404c
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2021-03-29 (Mon, 29 Mar 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
    M llvm/test/ThinLTO/X86/devirt.ll
    M llvm/test/ThinLTO/X86/devirt2.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
    M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
    M llvm/tools/llvm-lto2/llvm-lto2.cpp

  Log Message:
  -----------
  Don't use $ as suffix for symbol names in ThinLTOBitcodeWriter and other places

Using $ breaks demangling of the symbols. For example,

$ c++filt _Z3foov\$123
_Z3foov$123

This causes problems for developers who would like to see nice stack traces
etc., but also for automatic crash tracking systems which try to organize
crashes based on the stack traces.

Instead, use the period as suffix separator, since Itanium demanglers normally
ignore such suffixes:

$ c++filt _Z3foov.123
foo() [clone .123]

This is already done in some places; try to do it everywhere.

Differential revision: https://reviews.llvm.org/D97484




More information about the All-commits mailing list