Michael J. Spencer
8de8364753
[ELF] Properly handle constant data.
...
With this hello world works with dietlibc on x86-64 Linux.
llvm-svn: 171711
2013-01-07 08:00:42 +00:00
Michael J. Spencer
956b03618c
[lld] Add -emit-yaml option. This outputs yaml instead of a binary.
...
llvm-svn: 171710
2013-01-07 08:00:25 +00:00
Michael J. Spencer
1ac382f0c5
[ELF] Emit the file header and program headers at the beginning of the first segment.
...
This is required for the loader to correctly set AT_PHDR.
With this lld can correctly link against dietlibc and get to main.
llvm-svn: 171709
2013-01-07 08:00:04 +00:00
Michael J. Spencer
00b702c95c
[ELF] Change Segment to hold Chunks instead of Sections. No functionality change.
...
llvm-svn: 171708
2013-01-07 07:59:46 +00:00
Michael J. Spencer
c8a12cce98
[ELF] Remove dead variable.
...
llvm-svn: 171707
2013-01-07 07:59:34 +00:00
Michael J. Spencer
28c6594c71
[ELF] Emit zeroFill as STT_OBJECT in the final executable. ld does this.
...
llvm-svn: 171704
2013-01-07 07:05:52 +00:00
Michael J. Spencer
cdb892488e
[ELF] Add common x86_64 relocation types.
...
llvm-svn: 171703
2013-01-07 06:58:53 +00:00
Michael J. Spencer
0c3f25ead9
[Driver] x86-64 should use ELF 64.
...
llvm-svn: 171693
2013-01-07 04:51:32 +00:00
Michael J. Spencer
c41d48fdee
[ELF] Give a slightly better message for unknown relocation types.
...
llvm-svn: 171692
2013-01-07 04:51:17 +00:00
Michael J. Spencer
fd3981d6db
[ELF] Update to llvm change.
...
llvm-svn: 171652
2013-01-06 05:40:27 +00:00
Michael J. Spencer
00744bf495
[YAML] Fix -Wcovered-switch-default
...
llvm-svn: 171645
2013-01-06 00:45:22 +00:00
Nick Kledzik
6b079f5e2f
Removes files for separate ReaderYAML.cpp and WriterYAML.cpp
...
and adds a new file ReaderWriterYAML.cpp that uses YAML I/O.
Lots of tweaks to test suite for slightly different YAML encoding.
llvm-svn: 171592
2013-01-05 02:22:35 +00:00
Reid Kleckner
e974bd1be9
Avoid MSVCRT assertion on comparing phdr iterators
...
llvm-svn: 171591
2013-01-05 02:21:42 +00:00
Michael J. Spencer
3124422a8b
[ELF] Add skeleton for X86-64 relocations.
...
llvm-svn: 171578
2013-01-05 00:47:04 +00:00
Michael J. Spencer
18225e7be1
[Driver] Add -flavor core support. This will be tested by other tests using -flavor core.
...
llvm-svn: 171577
2013-01-05 00:46:45 +00:00
Michael J. Spencer
5adebbd6a6
[ELF][Writer] Don't infinite loop.
...
This will be tested by a following committ that runs the linker
with no inputs.
llvm-svn: 171576
2013-01-05 00:46:23 +00:00
Michael J. Spencer
b14ac9b1fe
Style
...
llvm-svn: 171575
2013-01-05 00:46:10 +00:00
Michael J. Spencer
bc7f2a7359
[Driver] Add x86-64 target.
...
llvm-svn: 171557
2013-01-04 23:34:29 +00:00
Michael J. Spencer
65f6113d21
[ELF] STT_GNU_IFUNC is a known symbol type, so accept it. We do not yet implement its semantics.
...
llvm-svn: 171533
2013-01-04 21:25:25 +00:00
Michael J. Spencer
552074f18e
Style fixes.
...
llvm-svn: 171531
2013-01-04 21:18:34 +00:00
Michael J. Spencer
b8c853e5eb
[Passes][GOT] Fix style.
...
llvm-svn: 171530
2013-01-04 21:18:13 +00:00
Michael J. Spencer
85d998a109
[Driver] Error on undefined.
...
llvm-svn: 171529
2013-01-04 21:18:02 +00:00
Michael J. Spencer
7f693c50db
Slightly better diagnostics on duplicate symbols.
...
llvm-svn: 171528
2013-01-04 21:17:51 +00:00
Michael J. Spencer
a2c9727810
[ELF] Handle misaligned ELF files properly.
...
llvm-svn: 171526
2013-01-04 21:09:21 +00:00
Shankar Easwaran
495d38bf46
add Changes to ELF Writer to layout sections/segments in the output executable
...
llvm-svn: 171135
2012-12-27 02:26:30 +00:00
Shankar Easwaran
bbf9ddda04
changes for the ELF Reader : split up into AtomsELF.h/Adding new permissions permRWX
...
llvm-svn: 171127
2012-12-27 01:40:08 +00:00
Shankar Easwaran
b3cb257b8b
changes to fix Hexagon Relocation so that it accounts for the bitmask properly as documented in the ABI
...
llvm-svn: 171125
2012-12-27 01:04:00 +00:00
Andy Gibbs
d02bf1d232
Fix build issue when building lld against libstdc++ 4.7
...
llvm-svn: 170983
2012-12-22 09:46:10 +00:00
Michael J. Spencer
8ac9150556
[ELF][Reader] Ignore SHF_GROUP when switching on flags.
...
llvm-svn: 170624
2012-12-20 00:37:24 +00:00
Michael J. Spencer
6344b322e2
Style fixes.
...
llvm-svn: 170623
2012-12-20 00:37:10 +00:00
Michael J. Spencer
99b99d26bb
[Driver] Properly handle -entry for X86 Linux.
...
llvm-svn: 169718
2012-12-09 23:56:37 +00:00
Michael J. Spencer
3825760550
[Driver] Add -### support for printing out the core command line.
...
llvm-svn: 169717
2012-12-09 23:56:26 +00:00
Michael J. Spencer
48ed572710
Remove left over debugging output.
...
llvm-svn: 169716
2012-12-09 23:56:03 +00:00
Michael J. Spencer
c8b60a70be
[Driver] Make the X86Linux target use X86 (not x64) and properly initalize WriterOptions.
...
llvm-svn: 169715
2012-12-09 23:55:52 +00:00
Michael J. Spencer
9ff4be240a
Add the core architecture for the lld driver.
...
This includes selecting which driver to emulate, option parsing, invocation
building, and running the link. This currently only supports a very basic
subset of ld for x86_64-linux.
lld -flavor ld obj.o -o obj
or symlink lld as (ld , link, ld64, core) to get the desired behavior without
-flavor.
llvm-svn: 169659
2012-12-08 00:47:36 +00:00
Benjamin Kramer
f7798e34c9
Add library dependencies to the lld cmake build.
...
llvm-svn: 169306
2012-12-04 21:09:04 +00:00
Hemant Kulkarni
736f7fbee2
Populate entry point into ELF executable.
...
llvm-svn: 168461
2012-11-21 21:07:36 +00:00
Hemant Kulkarni
87dbac00a9
Add program header emission to ELF writer. This patch also rearranges sections for efficient memory utilization
...
llvm-svn: 167874
2012-11-13 21:34:45 +00:00
Shankar Easwaran
85bb045106
changes after mspencer reviews in phabricator
...
llvm-svn: 167871
2012-11-13 20:34:55 +00:00
Michael J. Spencer
a5d22811af
Fix style violations.
...
llvm-svn: 167869
2012-11-13 19:58:58 +00:00
Shankar Easwaran
70b4dcfbcd
Adding support to resolve symbols with archive libraries in lld
...
llvm-svn: 167854
2012-11-13 18:39:10 +00:00
Hemant Kulkarni
f828613945
Add absolute symbol scope recognition in lld/Core
...
llvm-svn: 167394
2012-11-05 19:13:54 +00:00
Nick Kledzik
8cf031e4cc
rename dylibNamesToOrdinal now that it is an ivar
...
llvm-svn: 167254
2012-11-01 21:44:45 +00:00
Michael J. Spencer
a1913fbda9
[ELF] Fix -Woverloaded-virtual
...
llvm-svn: 167246
2012-11-01 19:46:19 +00:00
Michael J. Spencer
d91bc3c8bb
[MachO] Fix use after free.
...
llvm-svn: 167245
2012-11-01 19:46:06 +00:00
Michael J. Spencer
c1d704550a
[MachO] Fix uninitialized variables.
...
llvm-svn: 167244
2012-11-01 19:45:53 +00:00
Michael J. Spencer
e337e60552
Fix cl brokeness.
...
cl is not attempting to complete a templated class when used in this
context. The conversion forces this to happen.
Thanks to Richard Smith for figuring this out.
llvm-svn: 167166
2012-10-31 20:47:30 +00:00
Michael J. Spencer
d2f7e50867
Add missing include.
...
llvm-svn: 167165
2012-10-31 20:47:11 +00:00
Sid Manning
823e8bb7be
This patch changes the following:
...
* Use conventional naming for KindHandlers.
* Add X86 relocation routines.
* Use std::function instead of function pointers in _fixupHandler map.
* Change _fixupHandler map from std::map to llvm::DenseMap.
* Add simple testcase for x86 relocations.
llvm-svn: 166700
2012-10-25 17:53:04 +00:00
Sid Manning
2a59024ff8
This update does the following:
...
* Moves enum Scope from DefinedAtom.h to Atom.h
* Adds scope method to AbsoluteAtom class
* Updates YAML to print scope of AbsoluteAtoms
* Update Native Reader/Writer to handle this new, "attribute"
* Adds testcase
Reviewed and approved by Nick Kledzik
llvm-svn: 166189
2012-10-18 17:16:19 +00:00