[all-commits] [llvm/llvm-project] 51c5ba: [lld-macho] No need to explicitly specify -arch in...

Jez Ng via All-commits all-commits at lists.llvm.org
Sun Jun 14 18:24:26 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 51c5baacf36f5d5d0dbed00590a9e56a5f4a0d73
      https://github.com/llvm/llvm-project/commit/51c5baacf36f5d5d0dbed00590a9e56a5f4a0d73
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-06-14 (Sun, 14 Jun 2020)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/test/MachO/arch.s
    M lld/test/MachO/archive.s
    M lld/test/MachO/dylib.s
    M lld/test/MachO/dylink-lazy.s
    M lld/test/MachO/dylink.s
    M lld/test/MachO/entry-symbol.s
    M lld/test/MachO/export-trie.s
    M lld/test/MachO/fat-arch.s
    M lld/test/MachO/invalid/alignment-too-large.yaml
    M lld/test/MachO/invalid/archive-no-index.s
    M lld/test/MachO/invalid/bad-archive.s
    M lld/test/MachO/invalid/duplicate-symbol.s
    M lld/test/MachO/invalid/invalid-executable.s
    M lld/test/MachO/invalid/invalid-fat-narch.s
    M lld/test/MachO/invalid/invalid-fat-offset.s
    M lld/test/MachO/invalid/invalid-relocation.yaml
    M lld/test/MachO/invalid/missing-dylib.s
    M lld/test/MachO/invalid/no-id-dylink.yaml
    M lld/test/MachO/invalid/no-such-file.s
    M lld/test/MachO/invalid/order-file-bad-arch.test
    M lld/test/MachO/invalid/order-file-bad-objfile.test
    M lld/test/MachO/invalid/stub-link.s
    M lld/test/MachO/invalid/undefined-symbol.s
    M lld/test/MachO/link-search-order.s
    M lld/test/MachO/load-commands.s
    M lld/test/MachO/no-exports-dylib.s
    M lld/test/MachO/order-file.s
    M lld/test/MachO/platform-version.test
    M lld/test/MachO/relocations.s
    M lld/test/MachO/resolution.s
    M lld/test/MachO/search-paths.test
    M lld/test/MachO/section-headers.s
    M lld/test/MachO/section-merge.s
    M lld/test/MachO/segments.s
    M lld/test/MachO/silent-ignore.test
    M lld/test/MachO/static-link.s
    M lld/test/MachO/stub-link.s
    M lld/test/MachO/sub-library.s
    M lld/test/MachO/subsections-section-relocs.s
    M lld/test/MachO/subsections-symbol-relocs.s
    M lld/test/MachO/symbol-order.s
    M lld/test/MachO/symtab.s
    M lld/test/MachO/x86-64-reloc-signed.s
    M lld/test/MachO/x86-64-reloc-unsigned.s

  Log Message:
  -----------
  [lld-macho] No need to explicitly specify -arch in tests

Summary: After {D81326} landed, some tests started failing if they did
not have `-arch` specified. I think one of the reasons happened was due
to the fact that we were taking a reference to a temporary value that
was freed too early. Fixing that got the error to go away on my local
Linux machine.

Reviewed By: MaskRay

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


  Commit: 53c796b948f04755f67e00ac45de91d45df2b656
      https://github.com/llvm/llvm-project/commit/53c796b948f04755f67e00ac45de91d45df2b656
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-06-14 (Sun, 14 Jun 2020)

  Changed paths:
    M lld/MachO/Arch/X86_64.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/Target.h
    A lld/test/MachO/invalid/invalid-relocation-length.yaml
    A lld/test/MachO/invalid/invalid-relocation-pcrel.yaml
    R lld/test/MachO/invalid/invalid-relocation.yaml
    M lld/test/MachO/x86-64-reloc-unsigned.s

  Log Message:
  -----------
  [lld-macho] Properly handle & validate relocation r_length

Summary:
We should be reading / writing our addends / relocated addresses based on
r_length, and not just based on the type of the relocation. But since only
some r_length values are valid for a given reloc type, I've also added some
validation.

ld64 has code to allow for r_length = 0 in X86_64_RELOC_BRANCH relocs, but I'm
not sure how to create such a relocation...

Reviewed By: smeenai

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


Compare: https://github.com/llvm/llvm-project/compare/3d8149c2a122...53c796b948f0


More information about the All-commits mailing list