[all-commits] [llvm/llvm-project] 691e3c: [lld-macho] Fix `Defined` size increase with `-mms...

Daniel Bertalan via All-commits all-commits at lists.llvm.org
Fri Sep 6 01:58:40 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 691e3c64d08c32955c8f5f740d4ce0db00ee2307
      https://github.com/llvm/llvm-project/commit/691e3c64d08c32955c8f5f740d4ce0db00ee2307
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M lld/MachO/Symbols.h

  Log Message:
  -----------
  [lld-macho] Fix `Defined` size increase with `-mms-bitfields` (#107545)

Under the Microsoft ABI, only those bit fields can be merged whose
underlying types have the same size.

d175616 (`[lld-macho][arm64] Enhance safe ICF with thunk-based
deduplication`) added an enum field (`identicalCodeFoldingKind`) next to
booleans in the `Defined` class, which increased the size under the MS
ABI. On MinGW targets, this triggered the `static_assert` which checks
the size of `Defined` (for MSVC targets, the check is disabled due to
another problem). Let's store it as a `uint8_t` to allow merging to take
place.

Fixes #107511



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list