[all-commits] [llvm/llvm-project] 47b63c: [lld-macho] Save all thin archive members in repro...

Daniel Bertalan via All-commits all-commits at lists.llvm.org
Thu Jul 18 07:26:55 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 47b63cd508f993d9fab2acfbf0dcf86cdc8c5335
      https://github.com/llvm/llvm-project/commit/47b63cd508f993d9fab2acfbf0dcf86cdc8c5335
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Options.td
    A lld/test/MachO/reproduce-thin-archive-objc.s
    M lld/test/MachO/reproduce-thin-archives.s

  Log Message:
  -----------
  [lld-macho] Save all thin archive members in repro tarball (#97169)

Previously, we only saved those members of thin archives into a repro
file that were actually used during linking. However, -ObjC handling
requires us to inspect all members, even those that don't end up being
loaded.

We weren't handling missing members correctly and crashed with an
"unhandled `Error`" failure in LLVM_ENABLE_ABI_BREAKING_CHECKS builds.

To fix this, we now eagerly load all object files and warn when
encountering missing members (in the instances where it wasn't a hard
error before). To avoid having to patch out the checks when dealing
with older repro files, the `--no-warn-thin-archive-missing-members`
flag is added as an escape hatch.



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