[all-commits] [llvm/llvm-project] f55b79: Revert "[lld] enable fixup chains by default (#798...

Hans via All-commits all-commits at lists.llvm.org
Fri Feb 16 05:50:44 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f55b79f59a77b4be586d649e9ced9f8667265011
      https://github.com/llvm/llvm-project/commit/f55b79f59a77b4be586d649e9ced9f8667265011
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/test/MachO/arm64-32-stubs.s
    M lld/test/MachO/arm64-stubs.s
    M lld/test/MachO/dyld-stub-binder.s
    M lld/test/MachO/icf-safe.ll
    M lld/test/MachO/invalid/chained-fixups-incompatible.s
    M lld/test/MachO/objc-selrefs.s

  Log Message:
  -----------
  Revert "[lld] enable fixup chains by default (#79894)"

This caused links to fail with:

  lld/MachO/Symbols.cpp:97:
  virtual uint64_t lld::macho::Defined::getVA() const:
  Assertion `target->usesThunks()' failed.

or crash when asserts are disabled. See comment on
https://github.com/llvm/llvm-project/pull/79894

> Enable chained fixups in lld when all platform and version criteria are
> met. This is an attempt at simplifying the logic used in ld 907:
>
> https://github.com/apple-oss-distributions/ld64/blob/93d74eafc37c0558b4ffb88a8bc15c17bed44a20/src/ld/Options.cpp#L5458-L5549
>
> Some changes were made to simplify the logic:
> - only enable chained fixups for macOS from 13.0 to avoid the arch check
> - only enable chained fixups for iphonesimulator from 16.0 to avoid the
> arch check
> - don't enable chained fixups for not specifically listed platforms
> - don't enable chained fixups for arm64_32

This reverts commit 775c2856fb32868f357a3ce3f2b4139541e12578.




More information about the All-commits mailing list