Benjamin Kramer
2b004debde
Fix typo in comment. Found by -Wdocumentation.
...
llvm-svn: 184058
2013-06-16 11:09:47 +00:00
Rui Ueyama
969e70265a
[ELF] Remove unused parameter from ELFReference c'tor.
...
Reviewers: shankarke
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D961
llvm-svn: 183850
2013-06-12 18:21:36 +00:00
Rui Ueyama
e3ee514aa7
[ELF] Refactor File.h.
...
- Split createAtom() in lib/ReaderWriter/ELF/File.h into small methods.
- Added comments to code in other methods.
No functionality changes.
Reviewers: shankarke
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D921
llvm-svn: 183696
2013-06-10 21:32:44 +00:00
Rafael Espindola
a0af48fc93
Fix handling of files without a symbol table.
...
This fixes a recent regression (r183338). Stripped elf files (like installed
crtn.o for example), are not required to have a symbol table. Handle that
correctly.
llvm-svn: 183573
2013-06-07 21:08:19 +00:00
Rafael Espindola
0b87956542
Update for llvm's r183337.
...
llvm-svn: 183338
2013-06-05 20:35:36 +00:00
Michael J. Spencer
427354ee21
[ELF][Reader] Kind in this context refers to File::Kind. Qualify with Reference::Kind.
...
llvm-svn: 182787
2013-05-28 18:43:17 +00:00
Shankar Easwaran
bd525a3f63
[lld][ELF] set ordinals for mergeAtoms and fix testcase
...
llvm-svn: 181622
2013-05-10 18:52:29 +00:00
Shankar Easwaran
e796006333
[lld][ELF] fix build failure
...
llvm-svn: 181325
2013-05-07 15:27:02 +00:00
Shankar Easwaran
790ede43de
[lld][ELF] split ELF reader into multiple functions for readability (no change in functionality)
...
llvm-svn: 181288
2013-05-07 04:58:09 +00:00
Shankar Easwaran
6e1f5b7d1a
[lld][ELF] reduce the number of symbols emitted in the symbol table
...
llvm-svn: 180872
2013-05-01 19:36:38 +00:00
Shankar Easwaran
02078464e1
[lld][ELF] continue on finding a section with no symbols, tests already present
...
llvm-svn: 180769
2013-04-30 03:14:01 +00:00
Shankar Easwaran
d953d66ee9
[ELF] fix atom order
...
llvm-svn: 178815
2013-04-04 23:51:36 +00:00
Nick Kledzik
c314b46e71
This is my Driver refactoring patch.
...
The major changes are:
1) LinkerOptions has been merged into TargetInfo
2) LinkerInvocation has been merged into Driver
3) Drivers no longer convert arguments into an intermediate (core) argument
list, but instead create a TargetInfo object and call setter methods on
it. This is only how in-process linking would work. That is, you can
programmatically set up a TargetInfo object which controls the linking.
4) Lots of tweaks to test suite to work with driver changes
5) Add the DarwinDriver
6) I heavily doxygen commented TargetInfo.h
Things to do after this patch is committed:
a) Consider renaming TargetInfo, given its new roll.
b) Consider pulling the list of input files out of TargetInfo. This will
enable in-process clients to create one TargetInfo the re-use it with
different input file lists.
c) Work out a way for Drivers to format the warnings and error done in
core linking.
llvm-svn: 178776
2013-04-04 18:59:24 +00:00
Rafael Espindola
26cf0b5130
Update for API change for handling mips64el.
...
llvm-svn: 178695
2013-04-03 21:03:19 +00:00
Michael J. Spencer
8759beb424
[ELF] Cache contentType and permissions.
...
llvm-svn: 178269
2013-03-28 18:58:50 +00:00
Michael J. Spencer
da384eebe5
[ELF][Reader][Perf] Only do loookup once.
...
llvm-svn: 177563
2013-03-20 19:25:58 +00:00
Michael J. Spencer
602ffc13b8
[ELF][Reader] Refactor how relocations are read. Improves performance.
...
This changes from reading each relocation individually for each section to just
storing the range of relocations. It also counts the relocations to preallocate
the _references array.
llvm-svn: 177562
2013-03-20 19:25:47 +00:00
Michael J. Spencer
0f3dd616bd
Devirtualize File::kind.
...
This is the standard way of implementing LLVM RTTI.
llvm-svn: 177555
2013-03-20 18:57:27 +00:00
Michael J. Spencer
6580d1f226
Set ordinals correctly.
...
This actually doesn't change behavior with the current LinkerInvocation, but
it's needed when you make reading parallel.
llvm-svn: 177554
2013-03-20 18:56:57 +00:00
Shankar Easwaran
8962feb915
[lld] remove trailing whitespace
...
llvm-svn: 177079
2013-03-14 16:09:49 +00:00
Michael J. Spencer
c4e45f855c
[ELF][Writer] Let std::vector handle allocating space instead of reserving tiny portions.
...
llvm-svn: 176916
2013-03-13 00:30:08 +00:00
Shankar Easwaran
c44bc347cb
[ELF] Order weak symbols properly
...
llvm-svn: 176583
2013-03-06 21:59:27 +00:00
Shankar Easwaran
873c9ffba0
add changes for typeDataFast
...
llvm-svn: 175901
2013-02-22 17:18:53 +00:00
Shankar Easwaran
25832ede03
functionality to handle global atoms in Merge sections
...
llvm-svn: 175636
2013-02-20 17:38:37 +00:00
Shankar Easwaran
4b9cea7317
fix the mergeable string atom, when the target points to a symbol which is at a relative offset from the start of the .rodata section
...
llvm-svn: 175039
2013-02-13 06:35:33 +00:00
Shankar Easwaran
96d594b14e
add merge strings option, this temporarily fixes the problem bringing up helloworld with glibc on x86_64
...
llvm-svn: 175038
2013-02-13 06:12:52 +00:00
Shankar Easwaran
0da6d71b54
add support for merging common strings
...
llvm-svn: 174990
2013-02-12 18:46:53 +00:00
Michael J. Spencer
c3c8bc1e5c
[ELF] Add support for reading dynamic libraries.
...
llvm-svn: 174916
2013-02-11 23:03:35 +00:00
Shankar Easwaran
34ab70f1e6
add changes for layoutafter/layoutbefore/ingroup/layoutpass and test cases
...
llvm-svn: 174658
2013-02-07 20:16:12 +00:00
Michael J. Spencer
7e813242af
[ELF][Reader] Improve performance by removing calls to malloc.
...
llvm-svn: 174275
2013-02-03 10:49:47 +00:00
Michael J. Spencer
b0ed8e80d8
[ELF][x86-84] Add static TLS support.
...
llvm-svn: 174154
2013-02-01 07:13:49 +00:00
Michael J. Spencer
3830d2c49f
[ELF] Create atoms for progbits sections with no symbols but still have content.
...
llvm-svn: 174091
2013-01-31 21:00:42 +00:00
Shankar Easwaran
a6f00fe083
add targethandler hooks from Writer and cleanup
...
llvm-svn: 173904
2013-01-30 07:11:43 +00:00
Michael J. Spencer
e68f90355c
[ELF] Chop the ELF prefix off of most things.
...
llvm-svn: 173838
2013-01-29 22:03:39 +00:00