[all-commits] [llvm/llvm-project] 7b45df: [lld-macho] Canonicalize personality pointers in E...

Jez Ng via All-commits all-commits at lists.llvm.org
Tue Oct 11 20:51:15 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7b45dfc6811a52ff4e9a6054dc276d70d77fddaf
      https://github.com/llvm/llvm-project/commit/7b45dfc6811a52ff4e9a6054dc276d70d77fddaf
  Author: Jez Ng <jezng at fb.com>
  Date:   2022-10-11 (Tue, 11 Oct 2022)

  Changed paths:
    M lld/MachO/UnwindInfoSection.cpp
    M lld/MachO/UnwindInfoSection.h
    M lld/MachO/Writer.cpp
    A lld/test/MachO/eh-frame-personality-dedup.s

  Log Message:
  -----------
  [lld-macho] Canonicalize personality pointers in EH frames

We already do this for personality pointers referenced from compact
unwind entries; this patch extends that behavior to personalities
referenced via EH frames as well.

This reduces the number of distinct personalities we need in the final
binary, and helps us avoid hitting the "too many personalities" error.

I renamed `UnwindInfoSection::prepareRelocations()` to simply `prepare`
since we now do some non-reloc-specific stuff within.

Fixes #58277.

Reviewed By: #lld-macho, oontvoo

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




More information about the All-commits mailing list