Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [Mips] Simplify calculations of relocations - replace scatterBits calls | Simon Atanasyan | 2014-01-18 | 1 | -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 an | Simon Atanasyan | 2014-01-17 | 1 | -1/+9 | |
| | | | | | | executable file. llvm-svn: 199517 | |||||
* | [Mips] Implement .plt and .got.plt section creation. | Simon Atanasyan | 2014-01-17 | 6 | -3/+182 | |
| | | | | llvm-svn: 199516 | |||||
* | [Mips] Handle R_MIPS_26 relocation. Maintaining of .plt and .got.plt | Simon Atanasyan | 2014-01-17 | 4 | -1/+37 | |
| | | | | | | sections will be implemented later. llvm-svn: 199515 | |||||
* | [Mips] Provide default name of MIPS-specific interpreter. | Simon Atanasyan | 2014-01-17 | 2 | -0/+5 | |
| | | | | llvm-svn: 199514 | |||||
* | Update for llvm api change. | Rafael Espindola | 2014-01-15 | 1 | -3/+3 | |
| | | | | llvm-svn: 199327 | |||||
* | [MachO] Begin support for reading fat binaries. | Joey Gouly | 2014-01-14 | 2 | -23/+60 | |
| | | | | llvm-svn: 199259 | |||||
* | [Mips] Do not forget to initialize a class field. | Simon Atanasyan | 2014-01-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 199241 | |||||
* | [Mips] Calculate gp value only once. | Simon Atanasyan | 2014-01-14 | 1 | -7/+5 | |
| | | | | llvm-svn: 199240 | |||||
* | [Mips] Create and initialize _gp symbol. | Simon Atanasyan | 2014-01-14 | 1 | -0/+7 | |
| | | | | llvm-svn: 199239 | |||||
* | [Mips] Do not store a pointer to the AtomLayout related to the | Simon Atanasyan | 2014-01-14 | 2 | -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 the | Simon Atanasyan | 2014-01-14 | 2 | -1/+5 | |
| | | | | | | MipsTargetLayout class method. llvm-svn: 199236 | |||||
* | [Mips] Set default base address for MIPS executables to 0x400000. Assign | Simon Atanasyan | 2014-01-14 | 3 | -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. This | Simon Atanasyan | 2014-01-14 | 1 | -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 Gouly | 2014-01-13 | 3 | -9/+34 | |
| | | | | llvm-svn: 199155 | |||||
* | Fix spacing | Nick Kledzik | 2014-01-13 | 1 | -2/+2 | |
| | | | | llvm-svn: 199074 | |||||
* | Factor the symbol handling in normalizedToAtoms into a separate function. | Joey Gouly | 2014-01-12 | 1 | -7/+12 | |
| | | | | | | No functionality change. llvm-svn: 199066 | |||||
* | [yaml] use BumpPtrAllocator for string copies | Nick Kledzik | 2014-01-11 | 1 | -22/+12 | |
| | | | | llvm-svn: 198987 | |||||
* | [mach-o] enable mach-o and native yaml to be intermixed | Nick Kledzik | 2014-01-11 | 8 | -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 Atanasyan | 2014-01-09 | 1 | -6/+7 | |
| | | | | llvm-svn: 198855 | |||||
* | [Mips] Remove unnecessary #include pragma. | Simon Atanasyan | 2014-01-08 | 1 | -2/+0 | |
| | | | | llvm-svn: 198798 | |||||
* | Use getError instead of the error_code operator. | Rafael Espindola | 2014-01-08 | 5 | -26/+26 | |
| | | | | llvm-svn: 198797 | |||||
* | [Mips] GOT16 relocation against non-local symbol does not require a | Simon Atanasyan | 2014-01-08 | 4 | -1/+16 | |
| | | | | | | paired LO16 relocation. llvm-svn: 198790 | |||||
* | [Mips] Add assert to check that we handle all paired relocations. | Simon Atanasyan | 2014-01-08 | 2 | -0/+6 | |
| | | | | llvm-svn: 198789 | |||||
* | [Mips] Factor out the code determines type of GOT entry (local/global) | Simon Atanasyan | 2014-01-08 | 2 | -11/+27 | |
| | | | | | | into the separate function. llvm-svn: 198788 | |||||
* | [Mips] Do not use standard relocation identifier R_MIPS_NONE for | Simon Atanasyan | 2014-01-08 | 5 | -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 Atanasyan | 2014-01-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 198786 | |||||
* | [Mips] Do not save GOT headers atoms into the RelocationPass class | Simon Atanasyan | 2014-01-08 | 1 | -9/+3 | |
| | | | | | | fields. llvm-svn: 198785 | |||||
* | [Mips] Rename some classes to skip redundant mentioning of 'mips'. | Simon Atanasyan | 2014-01-08 | 1 | -14/+14 | |
| | | | | llvm-svn: 198784 | |||||
* | [Mips] Move MipsGOTPass implementation to the separate file. | Simon Atanasyan | 2014-01-08 | 4 | -153/+205 | |
| | | | | llvm-svn: 198783 | |||||
* | [mach-o] properly extract atom content from subrange of section content | Nick Kledzik | 2014-01-08 | 1 | -3/+28 | |
| | | | | llvm-svn: 198728 | |||||
* | Use the mach-o MH_* name for file types in yaml | Nick Kledzik | 2014-01-08 | 1 | -4/+4 | |
| | | | | llvm-svn: 198725 | |||||
* | Remove leading underscore from parameters. | Rui Ueyama | 2014-01-06 | 1 | -4/+2 | |
| | | | | llvm-svn: 198642 | |||||
* | Rename parameters to fix shadow warnings. | Rui Ueyama | 2014-01-06 | 1 | -3/+4 | |
| | | | | llvm-svn: 198641 | |||||
* | [PECOFF] Simplify: Replace two-value enum with bool. | Rui Ueyama | 2014-01-06 | 2 | -5/+3 | |
| | | | | llvm-svn: 198634 | |||||
* | [MachO] Add some missing NListTypes. | Joey Gouly | 2014-01-04 | 1 | -0/+2 | |
| | | | | llvm-svn: 198468 | |||||
* | [MachO] Begin to add some MachO specific File/Atoms, and add the start of | Joey Gouly | 2014-01-03 | 7 | -7/+172 | |
| | | | | | | normalizedToAtoms. llvm-svn: 198459 | |||||
* | Use scoped enum. | Rui Ueyama | 2014-01-03 | 2 | -3/+5 | |
| | | | | llvm-svn: 198396 | |||||
* | No else after return. | Joerg Sonnenberger | 2014-01-02 | 1 | -3/+3 | |
| | | | | llvm-svn: 198339 | |||||
* | The return value of createInternalFiles is unused, so remove it. | Joey Gouly | 2013-12-31 | 4 | -6/+4 | |
| | | | | llvm-svn: 198266 | |||||
* | Simplify if ... return repetition. | Rui Ueyama | 2013-12-28 | 1 | -7/+2 | |
| | | | | llvm-svn: 198108 | |||||
* | [PECOFF] Warn only when /export options are not compatible. | Rui Ueyama | 2013-12-28 | 1 | -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 commit | Rui Ueyama | 2013-12-28 | 3 | -19/+18 | |
| | | | | llvm-svn: 198103 | |||||
* | [PECOFF] Use std::set to store export symbol descriptors. | Rui Ueyama | 2013-12-28 | 1 | -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 Gouly | 2013-12-28 | 1 | -6/+6 | |
| | | | | llvm-svn: 198091 | |||||
* | [PECOFF] Parse .drectve section before reading other file contents. | Rui Ueyama | 2013-12-27 | 1 | -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 Ueyama | 2013-12-27 | 1 | -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 Ueyama | 2013-12-26 | 1 | -15/+2 | |
| | | | | llvm-svn: 198034 | |||||
* | [PECOFF] Fix wrong message. | Rui Ueyama | 2013-12-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 198033 | |||||
* | Fix some indentation issues, I saw while reading this file. | Joey Gouly | 2013-12-25 | 1 | -6/+6 | |
| | | | | llvm-svn: 198024 |