Rafael Espindola
832b93f219
Start recording the section of symbols in the symbol table.
...
Support for more than 64 K sections to follow shortly.
llvm-svn: 245868
2015-08-24 20:06:32 +00:00
Rafael Espindola
1bd885aba4
ELF: Also record the type of undefined symbols.
...
Tested with a weak undefined. Testing with a plain undefined will have to wait
for support for -shared.
llvm-svn: 245069
2015-08-14 16:46:28 +00:00
Rafael Espindola
c44d17ad45
Add the type of the symbols to the symbol table.
...
For now only defined symbols are covered. I will add undefined ones in the
next patch.
llvm-svn: 245057
2015-08-14 15:10:49 +00:00
Rafael Espindola
cde251370a
Include non-alloca sections in the link.
...
llvm-svn: 244895
2015-08-13 14:45:44 +00:00
Reid Kleckner
f7b85e0ce2
Fix mismatched sign comparison
...
llvm-svn: 244653
2015-08-11 20:06:51 +00:00
Rafael Espindola
76e24ea955
Add support for weak undefined symbols.
...
llvm-svn: 244640
2015-08-11 17:57:05 +00:00
Rafael Espindola
791e9f9c59
Remove unused templating.
...
llvm-svn: 244639
2015-08-11 17:51:57 +00:00
Rafael Espindola
b13df6582a
Add support for weak symbols.
...
llvm-svn: 244636
2015-08-11 17:33:02 +00:00
Rafael Espindola
7c388187c9
Don't report a conflict between two local symbols.
...
llvm-svn: 244624
2015-08-11 16:30:34 +00:00
Rafael Espindola
d8340dae0c
Don't depend on getDotSymtabSec. It is going away.
...
llvm-svn: 244451
2015-08-10 15:12:17 +00:00
Rafael Espindola
1a9344fa26
Use already available symbol tables. NFC.
...
llvm-svn: 244336
2015-08-07 17:16:28 +00:00
Rafael Espindola
df1e05a26c
Delete broken code.
...
This was using a hard coded string table and getting it for every symbol.
The symbol name was already available.
llvm-svn: 244220
2015-08-06 15:33:21 +00:00
Rafael Espindola
192e1fa59d
Move the error handling functions to Error.h. NFC.
...
llvm-svn: 244216
2015-08-06 15:08:23 +00:00
Rafael Espindola
3c9cb4b3d3
lld elf2: Diagnose trying to mix incompatible files.
...
This is also a step in instantiating the writer with the correct template
argument.
llvm-svn: 244035
2015-08-05 12:03:34 +00:00
Rafael Espindola
30318518a5
This function never returns null, don't check it.
...
llvm-svn: 243982
2015-08-04 14:00:56 +00:00
Michael J. Spencer
cdae0a4e2d
[ELF2] Devirtualize SymbolBody.
...
llvm-svn: 243496
2015-07-28 22:58:25 +00:00
Michael J. Spencer
84487f1174
[ELF2] Add a new ELF linker based on the new PE/COFF linker.
...
Differential Revision: http://reviews.llvm.org/D11188
llvm-svn: 243161
2015-07-24 21:03:07 +00:00
Michael J. Spencer
bae540e945
Revert ELF port. Posting to mailing list.
...
llvm-svn: 242118
2015-07-14 04:49:48 +00:00
Michael J. Spencer
50ed5308d1
Fix warnings.
...
llvm-svn: 242098
2015-07-14 01:02:37 +00:00
Michael J. Spencer
f754b1fe12
Put explicit template instantiations in the correct namespace.
...
llvm-svn: 242093
2015-07-14 00:22:00 +00:00
Michael J. Spencer
8a4145411f
Initial ELF port.
...
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
2015-07-13 23:48:06 +00:00