[all-commits] [llvm/llvm-project] 31d588: [lld-macho] Partial support for weak definitions
Jez Ng via All-commits
all-commits at lists.llvm.org
Fri Jul 24 16:16:39 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 31d58858425f6021d380eff879dd8983e25a5715
https://github.com/llvm/llvm-project/commit/31d58858425f6021d380eff879dd8983e25a5715
Author: Jez Ng <jezng at fb.com>
Date: 2020-07-24 (Fri, 24 Jul 2020)
Changed paths:
M lld/MachO/Arch/X86_64.cpp
M lld/MachO/ExportTrie.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/SymbolTable.h
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
A lld/test/MachO/weak-definition-direct-fetch.s
A lld/test/MachO/weak-definition-indirect-fetch.s
A lld/test/MachO/weak-definition-order.s
A lld/test/MachO/weak-definition-over-dysym.s
Log Message:
-----------
[lld-macho] Partial support for weak definitions
This diff adds support for weak definitions, though it doesn't handle weak
symbols in dylibs quite correctly -- we need to emit binding opcodes for them
in the weak binding section rather than the lazy binding section.
What *is* covered in this diff:
1. Reading the weak flag from symbol table / export trie, and writing it to the
export trie
2. Refining the symbol table's rules for choosing one symbol definition over
another. Wrote a few dozen test cases to make sure we were matching ld64's
behavior.
We can now link basic C++ programs.
Reviewed By: #lld-macho, compnerd
Differential Revision: https://reviews.llvm.org/D83532
Commit: 06a0dd2467d5c4726699eea3589a6444e00a2eef
https://github.com/llvm/llvm-project/commit/06a0dd2467d5c4726699eea3589a6444e00a2eef
Author: Jez Ng <jezng at fb.com>
Date: 2020-07-24 (Fri, 24 Jul 2020)
Changed paths:
M lld/MachO/Options.td
M lld/test/MachO/silent-ignore.test
Log Message:
-----------
[lld-macho] Ignore -dependency_info and its argument
XCode passes in this flag, which we do not yet implement. Skip
over the argument for now so we can at least successfully parse the
linker invocation.
Reviewed By: #lld-macho, compnerd
Differential Revision: https://reviews.llvm.org/D84485
Compare: https://github.com/llvm/llvm-project/compare/8bf4c1f4fb25...06a0dd2467d5
More information about the All-commits
mailing list