[all-commits] [llvm/llvm-project] 8bea91: [lld-macho] Support archives without index (#132942)

Leonard Grey via All-commits all-commits at lists.llvm.org
Thu Apr 10 11:34:18 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8bea91f677be4a05b1256a8052ab84dcd7ccb050
      https://github.com/llvm/llvm-project/commit/8bea91f677be4a05b1256a8052ab84dcd7ccb050
  Author: Leonard Grey <lgrey at chromium.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    A lld/test/MachO/archive-no-index.ll
    A lld/test/MachO/archive-no-index.s
    R lld/test/MachO/invalid/archive-no-index.s

  Log Message:
  -----------
  [lld-macho] Support archives without index (#132942)

This is a ~port of https://reviews.llvm.org/D117284. Like in that
change, archives without indices are treated as a collection of lazy
object files (as in `--start-lib/--end-lib`)

Porting the ELF follow-up to convert *all* archives to the lazy object
code path (https://reviews.llvm.org/D119074) is a natural next step, but
we would need to ensure the assertions about memory use hold for Mach-O.

NB: without an index, we can't do the part of the `-ObjC` scan where we
check for Objective-C symbols directly. We *can* still check for
`__obcj` sections so I wonder how much of a problem this actually is,
since I'm not sure how the "symbols but no sections" case can appear in
the wild.



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