FailedChanges

Summary

  1. GlobalISel: IRTranslate minimum of pointer sizes on memcpy (details)
  2. [libunwind] Minor fixes in libunwind (details)
  3. [libunwind] Factor out getInfoFromFdeCie. NFCI. (details)
  4. [gn build] Port 7a457593efe (details)
  5. [lld-macho] Fall back to raw path if we don't find anything under syslibroot (details)
  6. [lld-macho] Make it possible to re-export .tbd files (details)
  7. [lld-macho] Handle TAPI and regular re-exports uniformly (details)
  8. [lld-macho] Implement -ObjC (details)
  9. [lld-macho][NFC] Handle GOT bindings and regular bindings more uniformly (details)
  10. [lld-macho] Implement weak bindings for GOT/TLV (details)
  11. [lld-macho] Implement -all_load (details)
Commit 5207545a86d2ebbc7d9d8d2b5bcc92fbc932c1da by Matthew.Arsenault
GlobalISel: IRTranslate minimum of pointer sizes on memcpy

I forgot to squash this with 0b7f6cc71a72a85f8a0cbee836a7a8e31876951a
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-memory-intrinsics.ll
Commit 7a457593efecc8f3e806cd3d022c480bc80d4fbb by rprichard
[libunwind] Minor fixes in libunwind

* When _LIBUNWIND_SUPPORT_COMPACT_UNWIND is defined in config.h,
   define it to "1" like the other macros. These macros are still
   checked using "#if defined(...)", however.

* Include libunwind.h in AddressSpace.hpp before using
   _LIBUNWIND_ARM_EHABI.

* Rename ProcessFrameHeaderCache to TheFrameHeaderCache, because some
   configurations (e.g. Android / hermetic static libraries) can have
   one cache per shared object in the process. (When there are more
   copies, it's more important not to waste memory in the cache.)

* Add 3 missing header files to LIBUNWIND_HEADERS.

Differential Revision: https://reviews.llvm.org/D86254
The file was modifiedlibunwind/src/AddressSpace.hpp
The file was modifiedlibunwind/src/CMakeLists.txt
The file was modifiedlibunwind/src/config.h
Commit 3071d5ffba2337174f95f984bc1603a2be8b797d by rprichard
[libunwind] Factor out getInfoFromFdeCie. NFCI.

Differential Revision: https://reviews.llvm.org/D86255
The file was modifiedlibunwind/src/UnwindCursor.hpp
Commit ce3f26c1d070ca59aebabbe4aa22915424a2dea5 by llvmgnsyncbot
[gn build] Port 7a457593efe
The file was modifiedllvm/utils/gn/secondary/libunwind/src/BUILD.gn
Commit 3e7a86e3664a118924bae7306e7f9a7fadf45648 by jezng
[lld-macho] Fall back to raw path if we don't find anything under syslibroot

This matches ld64's behavior

Differential Revision: https://reviews.llvm.org/D85992
The file was modifiedlld/test/MachO/syslibroot.test
The file was modifiedlld/MachO/Driver.cpp
Commit 6336c042f66baa32b8f731a2d4edc1c1d07abe7d by jezng
[lld-macho] Make it possible to re-export .tbd files

Two things needed fixing for that to work:

1. getName() no longer returns null for DylibFiles constructed from TAPIs
2. markSubLibrary() now accepts .tbd as a possible extension

Differential Revision: https://reviews.llvm.org/D86180
The file was modifiedlld/MachO/InputFiles.cpp
The file was addedlld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++.tbd
The file was addedlld/test/MachO/reexport-stub.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.h
Commit 7394460d8759be5afc3322a2b8cab5e6865e431a by jezng
[lld-macho] Handle TAPI and regular re-exports uniformly

The re-exports list in a TAPI document can either refer to other inlined
TAPI documents, or to on-disk files (which may themselves be TBD or
regular files.) Similarly, the re-exports of a regular dylib can refer
to a TBD file.

Differential Revision: https://reviews.llvm.org/D85404
The file was addedlld/MachO/DriverUtils.cpp
The file was modifiedlld/test/MachO/stub-link.s
The file was modifiedlld/test/MachO/sub-library.s
The file was addedlld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++abi.tbd
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/CMakeLists.txt
The file was modifiedlld/test/MachO/invalid/stub-link.s
The file was modifiedlld/test/MachO/Inputs/iPhoneSimulator.sdk/usr/lib/libSystem.tbd
The file was modifiedlld/test/MachO/reexport-stub.s
The file was modifiedlld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++.tbd
The file was addedlld/MachO/DriverUtils.h
The file was modifiedlld/MachO/Config.h
Commit cf918c809bb0efc43c911e0df079d78a02e85f60 by jezng
[lld-macho] Implement -ObjC

It's roughly like -force_load with some filtering.

Differential Revision: https://reviews.llvm.org/D86181
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was addedlld/MachO/ObjC.cpp
The file was addedlld/test/MachO/objc.s
The file was modifiedlld/MachO/CMakeLists.txt
The file was addedlld/MachO/ObjC.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Config.h
Commit b84d72d89324eeeec2336a4f4ff26bc5f0a39905 by jezng
[lld-macho][NFC] Handle GOT bindings and regular bindings more uniformly

Previously, the BindingEntry struct could only store bindings to offsets
within InputSections. Since the GOTSection and TLVPointerSections are
OutputSections, I handled those in a separate code path. However, this
makes it awkward to support weak bindings properly without code
duplication. This diff allows BindingEntries to point directly to
OutputSections, simplifying the upcoming weak binding implementation.

Along the way, I also converted a bunch of functions taking references
to symbols to take pointers instead. Given how much casting we do for
Symbol (especially in the upcoming weak binding diffs), it's cleaner
this way.

Differential Revision: https://reviews.llvm.org/D86571
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Target.h
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was addedlld/test/MachO/no-unneeded-dyld-info.s
The file was modifiedlld/MachO/Writer.cpp
Commit cbe27316efce6fe1854f2c5b3428c6a74946877f by jezng
[lld-macho] Implement weak bindings for GOT/TLV

Previously, we were only emitting regular bindings to weak
dynamic symbols; this diff adds support for the weak bindings too, which
can overwrite the regular bindings at runtime. We also treat weak
defined global symbols similarly -- since they can also be interposed at
runtime, they need to be treated as potentially dynamic symbols.

Note that weak bindings differ from regular bindings in that they do not
specify the dylib to do the lookup in (i.e. weak symbol lookup happens
in a flat namespace.)

Differential Revision: https://reviews.llvm.org/D86572
The file was modifiedlld/MachO/SymbolTable.cpp
The file was addedlld/test/MachO/weak-binding.s
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/SyntheticSections.h
Commit 62b39b3a0cb287809d208fb4959526d37d4ded02 by jezng
[lld-macho] Implement -all_load

Differential Revision: https://reviews.llvm.org/D86640
The file was modifiedlld/test/MachO/archive.s
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Driver.cpp