| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
The implementation is a direct translation to c++ of the rules in the ELF spec.
llvm-svn: 249881
|
|
|
|
|
|
|
|
|
|
|
| |
The linker should generate an error if a TLS symbol is resolved
for a non-TLS reference and vice versa.
The patch addresses PR24244 (https://llvm.org/bugs/show_bug.cgi?id=24244)
Differential Revision: http://reviews.llvm.org/D13550
llvm-svn: 249817
|
|
|
|
| |
llvm-svn: 249635
|
|
|
|
| |
llvm-svn: 249622
|
|
|
|
|
|
|
|
|
| |
Add symbol specified with -u as undefined which may cause additional
object files from archives to be linked into the resulting binary.
Differential Revision: http://reviews.llvm.org/D13345
llvm-svn: 249295
|
|
|
|
|
|
|
| |
This matches the behavior of other linkers and seems necessary to link
in some older systems.
llvm-svn: 249077
|
|
|
|
| |
llvm-svn: 249061
|
|
|
|
| |
llvm-svn: 248604
|
|
|
|
|
|
| |
Thanks to Sean Silva for noticing.
llvm-svn: 248488
|
|
|
|
| |
llvm-svn: 248380
|
|
|
|
|
|
|
|
|
|
| |
This is just enough to get PLT working on 32 bit x86.
The idea behind using a virtual interface is that it should be easy to
convert any of the functions to template parameters if any turns out to be
performance critical.
llvm-svn: 248308
|
|
|
|
|
|
|
|
|
| |
We used to sort the symbols at the very end, but we need to know the order
earlier so that we can create reference to them in the dynamic relocations.
Thanks to Igor Kudrin for pointing out the problem.
llvm-svn: 247911
|
|
|
|
| |
llvm-svn: 247888
|
|
|
|
|
|
|
|
|
|
| |
They are not fully functional yet, but this implements enough support for lld
itself to read them.
With that, delete the .so binary we were using for tests and start eating our
own dog food.
llvm-svn: 247487
|
|
|
|
| |
llvm-svn: 247096
|
|
|
|
| |
llvm-svn: 247089
|
|
|
|
|
|
| |
For now it is always empty.
llvm-svn: 247056
|
|
|
|
| |
llvm-svn: 247016
|
|
|
|
| |
llvm-svn: 246886
|
|
|
|
| |
llvm-svn: 246823
|
|
|
|
|
|
|
| |
This just adds the types and enough support to detect incompatibilities among
shared libraries and object files.
llvm-svn: 246797
|
|
|
|
|
|
| |
Also preparation for shared objects. It will become the first ELF file.
llvm-svn: 246796
|
|
|
|
|
|
| |
Just preparation for adding support for shared libraries.
llvm-svn: 246793
|
|
|
|
| |
llvm-svn: 246593
|
|
|
|
| |
llvm-svn: 246583
|
|
|
|
|
|
| |
Now that resolved is templated anyway, we can use the regular Undefined.
llvm-svn: 246407
|
|
|
|
|
|
|
| |
This requires templating some functions over ELFT, but that opens other cleanup
opportunities for future patches.
llvm-svn: 246405
|
|
|
|
| |
llvm-svn: 245055
|
|
|
|
| |
llvm-svn: 245050
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch only the name is set. I will set the other fields shortly.
For now the table doesn't include local symbols. This is equivalent to using
--discard-all with gnu ld. This is OK for now since the symbols are not
needed for execution and for testing symbol resolution we only need the
global symbols.
llvm-svn: 245044
|
|
|
|
|
|
| |
It was already using just code that is common to all object files.
llvm-svn: 243985
|
|
|
|
|
|
|
|
|
|
| |
When we were using a std::sort over all the chunks we needed to put them in a
single storage.
Now that we just iterate over them and use a map to find the output section,
we can avoid allocating the temporary storage.
llvm-svn: 243980
|
|
|
|
|
|
| |
We use DenseMap for COFF too.
llvm-svn: 243534
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D11188
llvm-svn: 243161
|
|
|
|
| |
llvm-svn: 242118
|
|
This is a direct port of the new PE/COFF linker to ELF.
It can take a single object file and generate a valid executable that executes at the first byte in the text section.
llvm-svn: 242088
|