[all-commits] [llvm/llvm-project] 0b213c: [BOLT] Fix writing out unmarked .eh_frame section

maksfb via All-commits all-commits at lists.llvm.org
Fri Oct 7 11:20:23 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0b213c9090369ff43060816aed38cb6c67e228f8
      https://github.com/llvm/llvm-project/commit/0b213c9090369ff43060816aed38cb6c67e228f8
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2022-10-07 (Fri, 07 Oct 2022)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/dummy-eh-frame-bug.s

  Log Message:
  -----------
  [BOLT] Fix writing out unmarked .eh_frame section

When BOLT updates .eh_frame section, it concatenates newly-generated
contents (from CFI directives) with the original .eh_frame that has
relocations applied to it. However, if no new content is generated,
the original .eh_frame has to be left intact. In that case, BOLT was
still writing out the relocatable copy of the original .eh_frame section
to the new segment, even though this copy was never used and was not
even marked in the section header table.

Detect the scenario above and skip allocating extra space for .eh_frame.

Reviewed By: rafauler

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




More information about the All-commits mailing list