[all-commits] [llvm/llvm-project] 697b34: [dsymutil] Remove paper trail warnings (#67041)

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Fri Sep 22 11:27:46 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 697b34fd966bef0a94e67870a5517e8102751c46
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2023-09-22 (Fri, 22 Sep 2023)

  Changed paths:
    M llvm/docs/CommandGuide/dsymutil.rst
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFStreamer.h
    M llvm/include/llvm/DWARFLinkerParallel/DWARFFile.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/DWARFStreamer.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFFile.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.h
    R llvm/test/tools/dsymutil/X86/papertrail-warnings.test
    M llvm/test/tools/dsymutil/cmdline.test
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/MachODebugMapParser.cpp
    M llvm/tools/dsymutil/Options.td
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/dsymutil/dsymutil.h
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  [dsymutil] Remove paper trail warnings (#67041)

Remove the paper trail warning from dsymutil and the DWARF linker. The
original purpose of this functionality was to leave a paper trail in the
output artifact about missing object files. The current implementation
however has diverged and is the source of a pretty serious bug:

- In the debug map parser, missing object files are not the only
  warnings we emit. When paper trail warnings are enabled, all of them end
  up in the dSYM which wasn't the goal.
- When warnings are associated with a object file in the debug map, it
  is skipped by the DWARF linker. This only makes sense if the object file
  is missing and is obviously incorrect for any other type of warning
  (such as a missing symbol).

The combination of the two means that we can generate broken DWARF when
the feature is enabled. AFAIK it was only used by Apple and nobody I
spoke to has relied on it, so rather than fixing the broken behavior I
propose we remove it.

More information about the All-commits mailing list