Artyom Skrobov
17587fb028
Left two files out of the previous commit
...
llvm-svn: 210975
2014-06-14 12:40:04 +00:00
Artyom Skrobov
9b3f647bf3
llvm::sys::SwapByteOrder() renamed to llvm::sys::getSwappedBytes()
...
Further to this, llvm::sys::swapByteOrder() will be added, acting in-place
llvm-svn: 210974
2014-06-14 12:14:25 +00:00
Rafael Espindola
372bc70c63
Update for llvm api change.
...
llvm-svn: 210919
2014-06-13 17:20:48 +00:00
Rafael Espindola
6400ed4e75
Refer to error_code with an std prefix.
...
llvm-svn: 210820
2014-06-12 20:42:12 +00:00
Rafael Espindola
54427ccef3
include system_error directly.
...
llvm-svn: 210801
2014-06-12 17:15:58 +00:00
Rafael Espindola
1675d51eac
Run llvm/utils/sort_includes.py in a few files.
...
This will reduce the noise in a followup patch.
llvm-svn: 210800
2014-06-12 17:12:28 +00:00
Rafael Espindola
b1a4d3a26c
Don't import error_code into the lld namespace.
...
llvm-svn: 210785
2014-06-12 14:53:47 +00:00
Rafael Espindola
4956850fdc
replace llvm::error_code with std::error_code.
...
llvm-svn: 210781
2014-06-12 14:04:54 +00:00
Rafael Espindola
99c78a9f3c
Don't use make_error_code from the llvm namespace.
...
llvm-svn: 210741
2014-06-12 03:13:49 +00:00
Rui Ueyama
e05d380486
Move Simple.h and Alias.h to include/Core.
...
Because the files in Core actually depend on these files.
Differential Revision: http://reviews.llvm.org/D4000
llvm-svn: 210710
2014-06-11 21:47:51 +00:00
Rafael Espindola
7b8b9ae1cb
Use std::error_code instead of llvm::error_code.
...
This is an update for a llvm api change.
llvm-svn: 210689
2014-06-11 19:05:58 +00:00
Nick Kledzik
936d5205bb
[mach-o] fix use of resolver functions to not cause duplicate sections.
...
The previous commit uncovered a bug in the mach-o writer whereby two __text
sections were created. But the test case did not catch that. So I updated
the test case to run the linker a second time, reading the output of the
first pass.
llvm-svn: 210624
2014-06-11 01:30:55 +00:00
Nick Kledzik
6085539bed
[mach-o] add support for parsing resolver functions
...
llvm-svn: 210612
2014-06-11 00:24:16 +00:00
Nick Kledzik
ec140834d4
[mach-o] refactor mach-o output section selection to be table driven.
...
In -r mode the sections use the table used to parse .o files. Otherwise
use final exectuable table. No functionality change.
llvm-svn: 210506
2014-06-10 01:50:00 +00:00
Nick Kledzik
b423266e93
[mach-o] parse multiple symbols on same address into aliases
...
llvm-svn: 210502
2014-06-09 23:35:37 +00:00
Iain Sandoe
c4d9bedcfc
Initial set of Makefiles
...
This provides support for the autoconfing & make build style.
The format, style and implementation follows that used within the llvm and clang projects.
TODO: implement out-of-source documentation builds.
llvm-svn: 210177
2014-06-04 09:54:07 +00:00
Nick Kledzik
a2d602560b
[mach-o] Make anonymous atom out of section content before any symbol
...
In sections that are broken into atoms at symbols, if the first symbol in the
section is not at the start of the section, then make an anonymous atom for
the section content that is before the first symbol.
llvm-svn: 210142
2014-06-04 00:34:27 +00:00
Nick Kledzik
cb9f890b77
[mach-o] Refactor sections -> atoms to be table driven.
...
Previously each section kind had its own code to loop over the section and
parse it into atoms. This refactoring has two tables. The first maps sections
to ContentType. The second maps ContentType to information on how to find
the atom boundaries.
A few bugs in test cases were discovered as part of the refactoring.
No change in functionality intended.
llvm-svn: 210138
2014-06-03 23:36:50 +00:00
Rafael Espindola
1d364c18e2
This lambda returns a boolean, update the return statements.
...
llvm-svn: 210071
2014-06-03 04:41:30 +00:00
Rafael Espindola
63ed1a3519
Use error_code() instead of error_code::succes()
...
There is no std::error_code::success, so this removes much of the noise
in transitioning to std::error_code.
llvm-svn: 209948
2014-05-31 01:22:21 +00:00
Nick Kledzik
acfad80250
[mach-o] Add support for custom sections
...
llvm-svn: 209928
2014-05-30 22:51:04 +00:00
Nick Kledzik
cc28bc1816
[mach-o] Wire up mach-o binary reader to reader registry
...
llvm-svn: 209868
2014-05-30 01:13:49 +00:00
Nick Kledzik
f317d66c31
[mach-0] Add support for parsing compact unwind info section
...
llvm-svn: 209865
2014-05-29 23:50:48 +00:00
Nick Kledzik
b367c25f28
[mach-o] Add support for parsing __eh_frame section. Generalize support for whether symbols in a section are ignored or illegal
...
llvm-svn: 209858
2014-05-29 23:07:20 +00:00
Nick Kledzik
9ede702bc4
[mach-o] Add support for parsing CFString sections
...
llvm-svn: 209844
2014-05-29 20:44:21 +00:00
Nick Kledzik
cda69a279d
[mach-o] Add support for parsing of weak-def symbols
...
llvm-svn: 209707
2014-05-28 02:04:45 +00:00
Nick Kledzik
388f3d02de
[mach-o] Support parsing of non-lazy-pointer sections
...
llvm-svn: 209704
2014-05-28 01:16:35 +00:00
Nick Kledzik
a4a08d31cf
[mach-o] Add support for initializers and terminators in object files
...
llvm-svn: 209700
2014-05-27 23:20:52 +00:00
Nick Kledzik
81e105e8d6
[mach-o] Add checks that string literals in object files are zero terminated
...
llvm-svn: 209685
2014-05-27 20:37:08 +00:00
Nick Kledzik
3e90e5f187
[mach-o] Add support for reading utf16 string literal sections
...
llvm-svn: 209684
2014-05-27 20:25:06 +00:00
Nick Kledzik
181ce5ee03
Add make_dynamic_error_code().
...
This is a short-term fix to allow lld Readers to return error messages
with dynamic content.
The long term fix will be to enhance ErrorOr<> to work with errors other
than error_code. Or to change the interface to Readers to pass down a
diagnostics object through which all error messages are written.
llvm-svn: 209681
2014-05-27 19:35:41 +00:00
Nick Kledzik
8a0bc44b71
[mach-o] Fix so that mach-o semantic errors return an error rather than assert
...
llvm-svn: 209469
2014-05-22 20:05:43 +00:00
Nick Kledzik
a0c13a2420
[mach-o] parse literal sections into atoms
...
llvm-svn: 209379
2014-05-22 01:42:06 +00:00
Nick Kledzik
e09cfc5f8a
[mach-o] Add support for zero-fill sections.
...
llvm-svn: 208928
2014-05-15 23:03:50 +00:00
Nick Kledzik
61fdef6086
[mach-o] Add support and test cases for parsing tentative definitions
...
llvm-svn: 208919
2014-05-15 20:59:23 +00:00
Nick Kledzik
0224e3475d
Add -print_atoms options to DarwinLdDriver which dumps final state of all atoms in yaml
...
llvm-svn: 208813
2014-05-14 21:32:21 +00:00
David Majnemer
678088148c
Update to match changes made in r205955
...
llvm-svn: 205956
2014-04-10 07:49:18 +00:00
Rui Ueyama
b461b1c785
s/llvm::dyn_cast/dyn_cast/
...
llvm-svn: 205404
2014-04-02 06:54:46 +00:00
Rui Ueyama
bc69bce7de
[MachO] Remove "virtual" and add "override".
...
llvm-svn: 205057
2014-03-28 21:36:33 +00:00
Alexey Samsonov
8e6829e436
Remove extra semicolon for -Wpedantic
...
llvm-svn: 204219
2014-03-19 09:38:31 +00:00
Rui Ueyama
39aa6af23f
Remove redundant "virtual" keyword.
...
llvm-svn: 203903
2014-03-14 07:10:43 +00:00
Ahmed Charles
13c70b6d4b
Replace OwningPtr with std::unique_ptr.
...
This results in some simplifications to the code where an OwningPtr had to
be used with the previous api and then ownership moved to a unique_ptr for
the rest of lld.
llvm-svn: 203809
2014-03-13 16:20:38 +00:00
Rui Ueyama
16e543bc02
Add "override" and remove "virtual" where appropriate.
...
For the record, I used clang-modernize to add "override" and perl to remove
"virtual".
llvm-svn: 203164
2014-03-06 21:14:04 +00:00
Chandler Carruth
5de228b287
[C++11] Replace LLVM_OVERRIDE with just "override" now that we're all
...
using MSVC 2012 or newer.
llvm-svn: 202627
2014-03-02 09:39:44 +00:00
Nico Rieck
b9d84f4d14
[lld] Include reference kind in cycle detector debug output
...
This restores the debug output to how it was before r197727 broke it. This
went undetected because the corresponding test was never run due to broken
feature detection.
llvm-svn: 202079
2014-02-24 21:14:37 +00:00
Nick Kledzik
cdf2c8be58
[mach-o] use new way to copy StringRefs
...
llvm-svn: 200956
2014-02-06 23:48:52 +00:00
Joey Gouly
cf466800b7
[MachO] Add undefined atoms.
...
llvm-svn: 200649
2014-02-02 19:34:55 +00:00
Shankar Easwaran
3d8de47f76
Fix trailing whitespace.
...
llvm-svn: 200182
2014-01-27 03:09:26 +00:00
Joey Gouly
010b37691d
[MachO] Begin support for reading fat binaries.
...
llvm-svn: 199259
2014-01-14 22:32:38 +00:00
Joey Gouly
d2215375a8
[MachO] Add basic support for local symbols.
...
llvm-svn: 199155
2014-01-13 22:28:02 +00:00