summaryrefslogtreecommitdiffstats
path: root/lld/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Run clang-format.Rui Ueyama2013-09-111-602/+488
| | | | llvm-svn: 190554
* Allow darwin driver to use -help when no input files are specified.Nick Kledzik2013-09-101-10/+10
| | | | | | Patch by Joe Ranieri llvm-svn: 190453
* Support darwin linker options: Nick Kledzik2013-09-103-1/+90
| | | | | | | | -current_version, -compatibility_version, and -install_name. Patch by Joe Ranieri llvm-svn: 190452
* Remove PackedVersion from MachOLinkingContext and replace with uint32_tNick Kledzik2013-09-101-35/+20
| | | | | | | | and a parsePackedVersion() utility. Patch by Joe Ranieri llvm-svn: 190451
* Use llvm::sys::Process::GetEnv() instead of ::getenv().Rui Ueyama2013-09-101-6/+9
| | | | | | | Process::GetEnv() uses GetEnvironmentVariableW, which is a Windows API to get an environment variable and is preferable over getenv(). llvm-svn: 190431
* Rename GnuLDInputGraph.h -> GnuLdInputGraph.h for consistency with other files.Rui Ueyama2013-09-091-1/+1
| | | | llvm-svn: 190332
* Use _isWholeArchive to silence -Wunused-private-field warning.Rui Ueyama2013-09-091-1/+1
| | | | llvm-svn: 190329
* Handle _DYNAMIC correctly in the x86_64 backend.Joerg Sonnenberger2013-09-092-0/+27
| | | | llvm-svn: 190302
* Recognize -Bstatic as alias for -static, clang uses it.Joerg Sonnenberger2013-09-091-0/+1
| | | | llvm-svn: 190301
* Drop the context forceLoadAllArchives() support. Rename the isForceLoadJoerg Sonnenberger2013-09-085-12/+15
| | | | | | | | | attribute in LinkerInput to isWholeArchive and use that for deciding whether library archives should be expanded. Implement the -all_load option of the Darwin linker using this flag and drop the support for it in GNU mode. llvm-svn: 190275
* Run clang-format.Joerg Sonnenberger2013-09-071-63/+64
| | | | llvm-svn: 190254
* Change the parseFile argument from MemoryBuffer pointer to LinkerInputJoerg Sonnenberger2013-09-0718-103/+85
| | | | | | reference. Move readFile logic into FileNode::createLinkerInput. llvm-svn: 190253
* [PECOFF] Don't add RVAs to base relocations table.Rui Ueyama2013-09-061-5/+10
| | | | | | Patch by Ron Ofir. llvm-svn: 190210
* [PECOFF] Fix section alignment bug in ReaderCOFF.Rui Ueyama2013-09-061-2/+4
| | | | | | Patch by Ron Ofir. llvm-svn: 190198
* [PECOFF] Add /machine command line option.Rui Ueyama2013-09-062-0/+10
| | | | llvm-svn: 190121
* [PECOFF] Align section contents as specified by the object file's section ↵Rui Ueyama2013-09-063-1/+24
| | | | | | header. llvm-svn: 190120
* Remove extraneous parentheses.Rui Ueyama2013-09-061-2/+2
| | | | llvm-svn: 190119
* Return early to simplify.Rui Ueyama2013-09-061-13/+11
| | | | llvm-svn: 190117
* Remove unused identifiers.Rui Ueyama2013-09-054-9/+4
| | | | llvm-svn: 190095
* [lld][ELF] Change the order of the writable note sectionShankar Easwaran2013-09-051-1/+1
| | | | | | | Writable note sections if they exist should not appear before text they belong in the data segment llvm-svn: 190024
* [lld][ELF] Differentiate between Note sections(RW/RO)Shankar Easwaran2013-09-045-17/+44
| | | | | | | | | | It looks like there is a possibility of seeing RO/RW note sections and we would need to create an appropriate RO/RW segment associated with them. Adds a test too. llvm-svn: 189907
* [PECOFF] Ignore options starting with -?Rui Ueyama2013-09-043-14/+19
| | | | | | | | | | | The compiler is allowed to add a linker option starting with -?<name> to .drectve section. If the linker can interpret -<name>, it's processed as if there's no question mark there. If not, such option is silently ignored. This is a COFF's feature to allow the compiler to emit new linker options while keeping compatibility with older linkers. llvm-svn: 189897
* [lld][ELF] Emit note sectionsShankar Easwaran2013-09-045-0/+16
| | | | | | | | Emit note sections if the input contains a note section. Also emit a note segment. llvm-svn: 189896
* Rename *Options.td -> <flavor>Options.td.Rui Ueyama2013-09-045-41/+39
| | | | | | | | | | | | | Before this patch, name of driver implementation is not consistent with its option table file. Specifically, LDOptions has a different prefix than GnuLdDriver. This patch renames option files, so that the option files have the same prefix as the corresponding driver files. Differential Revision: http://llvm-reviews.chandlerc.com/D1591 llvm-svn: 189895
* [lld][Driver] remove return after llvm_unreachableShankar Easwaran2013-09-041-1/+0
| | | | llvm-svn: 189891
* Start a TODO list for the ELF backend.Joerg Sonnenberger2013-09-041-0/+17
| | | | llvm-svn: 189890
* [lld][Driver] The driver was creating linker inputs twiceShankar Easwaran2013-09-031-1/+5
| | | | | | | Also add a llvm_unreachable call so that the linker will trip on unhandled inputElement types. llvm-svn: 189887
* Recognize -rpath-link option and add arguments to ELFLinkingContext.Joerg Sonnenberger2013-09-032-0/+9
| | | | llvm-svn: 189883
* [PECOFF] Allocate storage for .drective in the reader to avoid multiple ↵Rui Ueyama2013-09-032-9/+10
| | | | | | calls of allocateString() llvm-svn: 189881
* [PECOFF] Verify parameter in validateImpl() not in the driver.Rui Ueyama2013-09-032-7/+7
| | | | llvm-svn: 189877
* [lld] Remove bitfield for boolean membersShankar Easwaran2013-09-031-1/+1
| | | | llvm-svn: 189876
* [lld][ELF][X86_64] Fix alignment of init_array/fini_array sectionsShankar Easwaran2013-09-031-1/+4
| | | | llvm-svn: 189874
* [lld][ELF] Change the InitFini atom type from Stub to DataShankar Easwaran2013-09-031-1/+1
| | | | llvm-svn: 189873
* [lld][ELF][Hexagon] add Init/Fini option for hexagonShankar Easwaran2013-09-032-0/+88
| | | | | | This adds init/fini support for Hexagon. llvm-svn: 189872
* [lld] handle the case of errors from createLinkerInputShankar Easwaran2013-09-036-20/+48
| | | | | | | | | | This changes the interface of createLinkerInput to use ErrorOr, so that errors from the linker can be captured. Also adds a convenience function for error strings to be returned from file nodes. llvm-svn: 189871
* [PECOFF] Fix fixme by making PECOFFLinkingContext non-const.Rui Ueyama2013-09-031-10/+8
| | | | llvm-svn: 189865
* Finish -rpath implementation to actually create the DT_RPATH entries.Joerg Sonnenberger2013-09-032-0/+17
| | | | llvm-svn: 189847
* Add support for --sysroot.Joerg Sonnenberger2013-09-033-3/+21
| | | | llvm-svn: 189826
* A weak reference to a symbol that is only weakly referenced inJoerg Sonnenberger2013-09-031-1/+3
| | | | | | dependencies should remain weak, not get promoted to undef or dropped. llvm-svn: 189793
* Cosmetic changesRui Ueyama2013-09-033-9/+14
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1577 llvm-svn: 189777
* Resolver: Do not use assert() to notify user input error.Rui Ueyama2013-09-031-1/+5
| | | | llvm-svn: 189775
* Typo.Joerg Sonnenberger2013-09-021-1/+1
| | | | llvm-svn: 189771
* Recognize -Bshareable as alias for -shared.Joerg Sonnenberger2013-09-021-0/+1
| | | | llvm-svn: 189752
* ReaderWriter depends on Passes.Joerg Sonnenberger2013-09-021-0/+1
| | | | llvm-svn: 189751
* [lld][ELF] Add Init/Fini supportShankar Easwaran2013-08-315-0/+134
| | | | | | | | This creates .init_array/.fini_array section for X86_64 ELF targets and executes init/fini functions specified by the -init/-fini options respectively. llvm-svn: 189719
* [lld][LinkingContext] Atoms created from command line options should be ↵Shankar Easwaran2013-08-3113-146/+177
| | | | | | | | | | | | available in YAML This adds an API to the LinkingContext for flavors to add Internal files containing atoms that need to appear in the YAML output as well, when -emit-yaml switch is used. Flavors can add more internal files for other options that are needed. llvm-svn: 189718
* [PECOFF] Add /force:unresolved command line option as a synonym of /force.Rui Ueyama2013-08-292-1/+4
| | | | llvm-svn: 189614
* [PECOFF] Fix bug that section grouping may lay out atoms in a wrong order.Rui Ueyama2013-08-291-1/+31
| | | | | | | | | We added layout edges to the head atoms in grouped sections. That was wrong, because the head atom needs to be followed by the other atoms in the *same* section, not by the other section contents. With this patch, layout edges are added from tail atom, which is the last atom in a section, to head atom. llvm-svn: 189573
* [PECOFF] Fix bug that atom size was sometimes wrong.Rui Ueyama2013-08-291-1/+1
| | | | | | | | Because of a bug, the last atom of each section contained a garbage at the end of its data. In most cases the garbage is harmless but it could have cause SEGV. llvm-svn: 189572
* [PECOFF] Add helper functions for debuggingRui Ueyama2013-08-291-0/+20
| | | | llvm-svn: 189570
OpenPOWER on IntegriCloud