[all-commits] [llvm/llvm-project] 01ef21: [BOLT][DWARF] Fix handling of GCed CU function

Alexander Yermolovich via All-commits all-commits at lists.llvm.org
Thu Jun 1 12:08:48 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 01ef213b855da7a0e0ac7206d27c71f2f5345ca7
      https://github.com/llvm/llvm-project/commit/01ef213b855da7a0e0ac7206d27c71f2f5345ca7
  Author: Alexander Yermolovich <ayermolo at meta.com>
  Date:   2023-06-01 (Thu, 01 Jun 2023)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    A bolt/test/X86/Inputs/dwarf5-df-cu-function-gc-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-cu-function-gc-main.s
    A bolt/test/X86/dwarf5-df-cu-function-gc.test

  Log Message:
  -----------
  [BOLT][DWARF] Fix handling of GCed CU function

A CU can have only one function so CU will have low_pc/high_pc. If this funciton
is GCed by LLD low_pc will become 0x0, and BOLT can't map this to output. We
kind of were getting away with it in monolithic DWARF, but with split DWARF
there is only skeleton CU, so we end up with rnglist with header and array, but
no body. This caused LLDB to report an error.

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D151845




More information about the All-commits mailing list