summaryrefslogtreecommitdiffstats
path: root/lld/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* [Mips] Set default base address for MIPS executables to 0x400000. AssignSimon Atanasyan2014-01-143-1/+23
| | | | | | the lowest segment address to the MIPS_BASE_ADDRESS dynamic tag. llvm-svn: 199234
* [ELF] Fix type of the DefaultLayout::segments() return value. ThisSimon Atanasyan2014-01-141-1/+3
| | | | | | | | method returns the DefaultLayout::_segments field. The type of this field is a vector of Segment<ELFT>* pointers. This type cannot be implicitly casted to the range<ChunkIter>. llvm-svn: 199233
* [PECOFF] Support STACKSIZE module-definition file directive.Rui Ueyama2014-01-141-3/+11
| | | | llvm-svn: 199170
* [MachO] Add basic support for local symbols.Joey Gouly2014-01-133-9/+34
| | | | llvm-svn: 199155
* Fix spacingNick Kledzik2014-01-131-2/+2
| | | | llvm-svn: 199074
* Factor the symbol handling in normalizedToAtoms into a separate function.Joey Gouly2014-01-121-7/+12
| | | | | | No functionality change. llvm-svn: 199066
* [PECOFF] Support VERSION directive.Rui Ueyama2014-01-112-0/+28
| | | | llvm-svn: 199022
* Make anonymous namespace as small as possible.Rui Ueyama2014-01-111-45/+53
| | | | llvm-svn: 199021
* [PECOFF] Support NAME directive.Rui Ueyama2014-01-112-0/+47
| | | | llvm-svn: 199020
* [PECOFF] Add a helper function to read an integer from .def file.Rui Ueyama2014-01-111-12/+17
| | | | llvm-svn: 199019
* [PECOFF] Print a better error message for unknown module-definition file ↵Rui Ueyama2014-01-111-1/+1
| | | | | | directive. llvm-svn: 199018
* [PECOFF] Support HEAPSIZE directive.Rui Ueyama2014-01-112-2/+40
| | | | llvm-svn: 198994
* [PECOFF] Refactor module-defintion file parser.Rui Ueyama2014-01-112-20/+30
| | | | | | | | Refactor the parser so that the parser can return arbitrary type of parse result other than a vector of ExportDesc. Parsers for non-EXPORTS directives will be implemented in different patches. No functionality change. llvm-svn: 198993
* [yaml] use BumpPtrAllocator for string copiesNick Kledzik2014-01-111-22/+12
| | | | llvm-svn: 198987
* [mach-o] enable mach-o and native yaml to be intermixedNick Kledzik2014-01-118-52/+148
| | | | | | | | | | | | | | | | | | The main goal of this patch is to allow "mach-o encoded as yaml" and "native encoded as yaml" documents to be intermixed. They are distinguished via yaml tags at the start of the document. This will enable all mach-o test cases to be written using yaml instead of checking in object files. The Registry was extend to allow yaml tag handlers to be registered. The mach-o Reader adds a yaml tag handler for the tag "!mach-o". Additionally, this patch fixes some buffer ownership issues. When parsing mach-o binaries, the mach-o atoms can have pointers back into the memory mapped .o file. But with yaml encoded mach-o, name and content are ephemeral, so a copyRefs parameter was added to cause the mach-o atoms to make their own copy. llvm-svn: 198986
* [PECOFF] Support module-definition file.Rui Ueyama2014-01-104-2/+151
| | | | | | | | | | | | | Module-definition (.def) files are the file containing linker directives, such as export symbols. Because link.exe supports the same features as command line options, just as some Linker Script commands overlaps with command line options, use of module-definition file is not really necessary. It provides an alternative way to specify some linker options. This patch implements EXPORTS directive. Other directives will be implemented in the future. llvm-svn: 198925
* [Mips] Reduce the number of type-casting calls.Simon Atanasyan2014-01-091-6/+7
| | | | llvm-svn: 198855
* [Mips] Remove unnecessary #include pragma.Simon Atanasyan2014-01-081-2/+0
| | | | llvm-svn: 198798
* Use getError instead of the error_code operator.Rafael Espindola2014-01-0810-38/+39
| | | | llvm-svn: 198797
* [Mips] GOT16 relocation against non-local symbol does not require aSimon Atanasyan2014-01-084-1/+16
| | | | | | paired LO16 relocation. llvm-svn: 198790
* [Mips] Add assert to check that we handle all paired relocations.Simon Atanasyan2014-01-082-0/+6
| | | | llvm-svn: 198789
* [Mips] Factor out the code determines type of GOT entry (local/global)Simon Atanasyan2014-01-082-11/+27
| | | | | | into the separate function. llvm-svn: 198788
* [Mips] Do not use standard relocation identifier R_MIPS_NONE forSimon Atanasyan2014-01-085-6/+20
| | | | | | internal purpose. Use special LLD_R_MIPS_GLOBAL_GOT constant for that. llvm-svn: 198787
* [Mips] Rename function to better reflect its purpose.Simon Atanasyan2014-01-081-2/+2
| | | | llvm-svn: 198786
* [Mips] Do not save GOT headers atoms into the RelocationPass classSimon Atanasyan2014-01-081-9/+3
| | | | | | fields. llvm-svn: 198785
* [Mips] Rename some classes to skip redundant mentioning of 'mips'.Simon Atanasyan2014-01-081-14/+14
| | | | llvm-svn: 198784
* [Mips] Move MipsGOTPass implementation to the separate file.Simon Atanasyan2014-01-084-153/+205
| | | | llvm-svn: 198783
* [mach-o] properly extract atom content from subrange of section contentNick Kledzik2014-01-081-3/+28
| | | | llvm-svn: 198728
* Use the mach-o MH_* name for file types in yamlNick Kledzik2014-01-081-4/+4
| | | | llvm-svn: 198725
* Remove leading underscore from parameters.Rui Ueyama2014-01-061-4/+2
| | | | llvm-svn: 198642
* Rename parameters to fix shadow warnings.Rui Ueyama2014-01-061-3/+4
| | | | llvm-svn: 198641
* [PECOFF] Simplify: Replace two-value enum with bool.Rui Ueyama2014-01-063-7/+5
| | | | llvm-svn: 198634
* Replace nested switch statements.Rui Ueyama2014-01-051-25/+26
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D2501 llvm-svn: 198535
* [MachO] Add some missing NListTypes.Joey Gouly2014-01-041-0/+2
| | | | llvm-svn: 198468
* [MachO] Begin to add some MachO specific File/Atoms, and add the start ofJoey Gouly2014-01-037-7/+172
| | | | | | normalizedToAtoms. llvm-svn: 198459
* TypoJoerg Sonnenberger2014-01-031-1/+1
| | | | llvm-svn: 198434
* Use scoped enum.Rui Ueyama2014-01-033-5/+7
| | | | llvm-svn: 198396
* No else after return.Joerg Sonnenberger2014-01-021-3/+3
| | | | llvm-svn: 198339
* Add default search path if -nostdlib is not provided.Joerg Sonnenberger2014-01-022-5/+72
| | | | | | | Add basic emulation mapping for NetBSD/amd64, so that clang -m32 works as expected. llvm-svn: 198337
* The return value of createInternalFiles is unused, so remove it.Joey Gouly2013-12-315-8/+5
| | | | llvm-svn: 198266
* Simplify if ... return repetition.Rui Ueyama2013-12-281-7/+2
| | | | llvm-svn: 198108
* [PECOFF] Warn only when /export options are not compatible.Rui Ueyama2013-12-281-4/+21
| | | | | | | | | | Currently LLD always print a warning message if the same symbol is specified more than once for /export option. It's a bit annoying because specifying the same symbol with compatible options is actually safe and considered as a normal use case. This patch makes LLD to warn only when incompatible export options are given. llvm-svn: 198104
* temporary commitRui Ueyama2013-12-283-19/+18
| | | | llvm-svn: 198103
* [PECOFF] Use std::set to store export symbol descriptors.Rui Ueyama2013-12-281-4/+7
| | | | | | | Each export symbol descriptor has unique name attribute, so std::set is better container than std::vector for it. No functionality change. llvm-svn: 198102
* Fix a gcc-4.8 warning, about extraneous semicolons.Joey Gouly2013-12-281-6/+6
| | | | llvm-svn: 198091
* [PECOFF] Change the DLL entry symbol.Rui Ueyama2013-12-271-1/+1
| | | | | | | | | I'm not 100% sure but it looks like DLL entry symbol (DLL initializer function name) should be _DllMainCRTStartup@12. The reason why I'm not very sure is because I have no idea what "@12" suffix is, but without it the symbol won't be resolved... llvm-svn: 198072
* [PECOFF] Parse .drectve section before reading other file contents.Rui Ueyama2013-12-271-40/+36
| | | | | | | | | | | | | | Currently .drectve section contents are parsed after other sections are parsed. That order may result in wrong results if other sections depend on command line options in the directive section. For example, if a weak symbol is defined using /alternatename option in the directive section, we have to read it first and then read the text section contents. Otherwise the weak symbol won't be defined. This patch changes the order to fix the issue. llvm-svn: 198071
* [PECOFF] Skip empty .drectve sections.Rui Ueyama2013-12-271-5/+7
| | | | | | | There are many object files in the standard library who have empty .drective sections. Parsing the empty string is not wrong but a waste. llvm-svn: 198067
* Fix comment.Rui Ueyama2013-12-271-4/+4
| | | | llvm-svn: 198066
* Fix a bug that undefined symbols are not reported if dead-stripping is enabled.Rui Ueyama2013-12-261-4/+0
| | | | | | | | There was a bug that the linker does not report an error if symbols specified by -u (or /include on Windows) are not resolved. This patch fixes it by adding such symbols to the dead strip root. llvm-svn: 198041
OpenPOWER on IntegriCloud