summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter
Commit message (Collapse)AuthorAgeFilesLines
...
* [Mips] Simplify calculations of relocations - replace scatterBits callsSimon Atanasyan2014-01-181-14/+7
| | | | | | by bitwise AND operator and remove redundant local variables. llvm-svn: 199554
* [Mips] Allocate local GOT entry for a global symbol defined in anSimon Atanasyan2014-01-171-1/+9
| | | | | | executable file. llvm-svn: 199517
* [Mips] Implement .plt and .got.plt section creation.Simon Atanasyan2014-01-176-3/+182
| | | | llvm-svn: 199516
* [Mips] Handle R_MIPS_26 relocation. Maintaining of .plt and .got.pltSimon Atanasyan2014-01-174-1/+37
| | | | | | sections will be implemented later. llvm-svn: 199515
* [Mips] Provide default name of MIPS-specific interpreter.Simon Atanasyan2014-01-172-0/+5
| | | | llvm-svn: 199514
* Update for llvm api change.Rafael Espindola2014-01-151-3/+3
| | | | llvm-svn: 199327
* [MachO] Begin support for reading fat binaries.Joey Gouly2014-01-142-23/+60
| | | | llvm-svn: 199259
* [Mips] Do not forget to initialize a class field.Simon Atanasyan2014-01-141-1/+1
| | | | llvm-svn: 199241
* [Mips] Calculate gp value only once.Simon Atanasyan2014-01-141-7/+5
| | | | llvm-svn: 199240
* [Mips] Create and initialize _gp symbol.Simon Atanasyan2014-01-141-0/+7
| | | | llvm-svn: 199239
* [Mips] Do not store a pointer to the AtomLayout related to theSimon Atanasyan2014-01-142-3/+1
| | | | | | | _GLOBAL_OFFSET_TABLE_ symbol. We do not use this ponter anywhere after assigning of virtual address. llvm-svn: 199237
* [Mips] Factor out constant represents gp value offset to theSimon Atanasyan2014-01-142-1/+5
| | | | | | MipsTargetLayout class method. llvm-svn: 199236
* [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
* [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
* [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
* [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-085-26/+26
| | | | 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-062-5/+3
| | | | llvm-svn: 198634
* [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
* Use scoped enum.Rui Ueyama2014-01-032-3/+5
| | | | llvm-svn: 198396
* No else after return.Joerg Sonnenberger2014-01-021-3/+3
| | | | llvm-svn: 198339
* The return value of createInternalFiles is unused, so remove it.Joey Gouly2013-12-314-6/+4
| | | | 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] 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
* Remove duplicate methods.Rui Ueyama2013-12-261-15/+2
| | | | llvm-svn: 198034
* [PECOFF] Fix wrong message.Rui Ueyama2013-12-261-1/+1
| | | | llvm-svn: 198033
* Fix some indentation issues, I saw while reading this file.Joey Gouly2013-12-251-6/+6
| | | | llvm-svn: 198024
OpenPOWER on IntegriCloud