7dc69287c1 
								
							 
						 
						
							
							
								
								[PECOFF] Use a shorter name for the PECOFF writer member.  
							
							... 
							
							
							
							llvm-svn: 200052 
							
						 
						
							2014-01-25 00:27:44 +00:00  
				
					
						
							
							
								 
						
							
								49bfd5032d 
								
							 
						 
						
							
							
								
								[PECOFF] Accept /machine:x64 option.  
							
							... 
							
							
							
							This is the first patch to support PE32+ format, which is the image format
to use 64 bit address space on Windows/x86-64.
llvm-svn: 200029 
							
						 
						
							2014-01-24 19:17:05 +00:00  
				
					
						
							
							
								 
						
							
								87e15c7585 
								
							 
						 
						
							
							
								
								[PECOFF] Use constant instead of magic number.  
							
							... 
							
							
							
							llvm-svn: 200019 
							
						 
						
							2014-01-24 18:03:14 +00:00  
				
					
						
							
							
								 
						
							
								d8cadd6f17 
								
							 
						 
						
							
							
								
								[ELF] Customize a relocation table output format (rel / rela).  
							
							... 
							
							
							
							Add new virtual virtual function `isRelaOutputFormat` to the
`ELFLinkingContext` class. Call this function everywhere we need to
select a relocation table format.
Patch reviewed by Shankar Easwaran and Rui Ueyama.
llvm-svn: 199973 
							
						 
						
							2014-01-24 05:21:21 +00:00  
				
					
						
							
							
								 
						
							
								6ba68f10c4 
								
							 
						 
						
							
							
								
								Update for llvm api change.  
							
							... 
							
							
							
							llvm-svn: 199777 
							
						 
						
							2014-01-22 00:14:56 +00:00  
				
					
						
							
							
								 
						
							
								79e2d936fd 
								
							 
						 
						
							
							
								
								Update for llvm api change.  
							
							... 
							
							
							
							llvm-svn: 199752 
							
						 
						
							2014-01-21 16:09:55 +00:00  
				
					
						
							
							
								 
						
							
								2f1d6366e7 
								
							 
						 
						
							
							
								
								[Mips] Emit ELF header for MIPS target. ELF flags set is mostly hardcoded.  
							
							... 
							
							
							
							Later we need to improve that solution and build a correct set of flags
by merging ELF flags from all input objects.
llvm-svn: 199555 
							
						 
						
							2014-01-18 16:59:11 +00:00  
				
					
						
							
							
								 
						
							
								0e57a77072 
								
							 
						 
						
							
							
								
								[Mips] Simplify calculations of relocations - replace scatterBits calls  
							
							... 
							
							
							
							by bitwise AND operator and remove redundant local variables.
llvm-svn: 199554 
							
						 
						
							2014-01-18 16:59:00 +00:00  
				
					
						
							
							
								 
						
							
								9ab3b8db84 
								
							 
						 
						
							
							
								
								[Mips] Allocate local GOT entry for a global symbol defined in an  
							
							... 
							
							
							
							executable file.
llvm-svn: 199517 
							
						 
						
							2014-01-17 21:18:45 +00:00  
				
					
						
							
							
								 
						
							
								362bdc125e 
								
							 
						 
						
							
							
								
								[Mips] Implement .plt and .got.plt section creation.  
							
							... 
							
							
							
							llvm-svn: 199516 
							
						 
						
							2014-01-17 21:18:37 +00:00  
				
					
						
							
							
								 
						
							
								66338224be 
								
							 
						 
						
							
							
								
								[Mips] Handle R_MIPS_26 relocation. Maintaining of .plt and .got.plt  
							
							... 
							
							
							
							sections will be implemented later.
llvm-svn: 199515 
							
						 
						
							2014-01-17 21:18:26 +00:00  
				
					
						
							
							
								 
						
							
								80b86a43d5 
								
							 
						 
						
							
							
								
								[Mips] Provide default name of MIPS-specific interpreter.  
							
							... 
							
							
							
							llvm-svn: 199514 
							
						 
						
							2014-01-17 21:18:14 +00:00  
				
					
						
							
							
								 
						
							
								0de92d53a1 
								
							 
						 
						
							
							
								
								Update for llvm api change.  
							
							... 
							
							
							
							llvm-svn: 199327 
							
						 
						
							2014-01-15 19:38:01 +00:00  
				
					
						
							
							
								 
						
							
								010b37691d 
								
							 
						 
						
							
							
								
								[MachO] Begin support for reading fat binaries.  
							
							... 
							
							
							
							llvm-svn: 199259 
							
						 
						
							2014-01-14 22:32:38 +00:00  
				
					
						
							
							
								 
						
							
								13c5ce53dc 
								
							 
						 
						
							
							
								
								[Mips] Do not forget to initialize a class field.  
							
							... 
							
							
							
							llvm-svn: 199241 
							
						 
						
							2014-01-14 18:20:07 +00:00  
				
					
						
							
							
								 
						
							
								e46e2dfe01 
								
							 
						 
						
							
							
								
								[Mips] Calculate gp value only once.  
							
							... 
							
							
							
							llvm-svn: 199240 
							
						 
						
							2014-01-14 18:20:00 +00:00  
				
					
						
							
							
								 
						
							
								db2e1f35d8 
								
							 
						 
						
							
							
								
								[Mips] Create and initialize _gp symbol.  
							
							... 
							
							
							
							llvm-svn: 199239 
							
						 
						
							2014-01-14 18:19:52 +00:00  
				
					
						
							
							
								 
						
							
								6cac582de5 
								
							 
						 
						
							
							
								
								[Mips] Do not store a pointer to the AtomLayout related to the  
							
							... 
							
							
							
							_GLOBAL_OFFSET_TABLE_ symbol. We do not use this ponter anywhere after
assigning of virtual address.
llvm-svn: 199237 
							
						 
						
							2014-01-14 18:19:35 +00:00  
				
					
						
							
							
								 
						
							
								0b4dd91582 
								
							 
						 
						
							
							
								
								[Mips] Factor out constant represents gp value offset to the  
							
							... 
							
							
							
							MipsTargetLayout class method.
llvm-svn: 199236 
							
						 
						
							2014-01-14 18:19:26 +00:00  
				
					
						
							
							
								 
						
							
								663aa62863 
								
							 
						 
						
							
							
								
								[Mips] Set default base address for MIPS executables to 0x400000. Assign  
							
							... 
							
							
							
							the lowest segment address to the MIPS_BASE_ADDRESS dynamic tag.
llvm-svn: 199234 
							
						 
						
							2014-01-14 18:19:12 +00:00  
				
					
						
							
							
								 
						
							
								a565c778b3 
								
							 
						 
						
							
							
								
								[ELF] Fix type of the DefaultLayout::segments() return value. This  
							
							... 
							
							
							
							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 
							
						 
						
							2014-01-14 18:19:02 +00:00  
				
					
						
							
							
								 
						
							
								d2215375a8 
								
							 
						 
						
							
							
								
								[MachO] Add basic support for local symbols.  
							
							... 
							
							
							
							llvm-svn: 199155 
							
						 
						
							2014-01-13 22:28:02 +00:00  
				
					
						
							
							
								 
						
							
								0052bd4a34 
								
							 
						 
						
							
							
								
								Fix spacing  
							
							... 
							
							
							
							llvm-svn: 199074 
							
						 
						
							2014-01-13 04:08:15 +00:00  
				
					
						
							
							
								 
						
							
								9c826c100a 
								
							 
						 
						
							
							
								
								Factor the symbol handling in normalizedToAtoms into a separate function.  
							
							... 
							
							
							
							No functionality change.
llvm-svn: 199066 
							
						 
						
							2014-01-12 22:55:49 +00:00  
				
					
						
							
							
								 
						
							
								8293c711e7 
								
							 
						 
						
							
							
								
								[yaml] use BumpPtrAllocator for string copies  
							
							... 
							
							
							
							llvm-svn: 198987 
							
						 
						
							2014-01-11 01:11:49 +00:00  
				
					
						
							
							
								 
						
							
								6edd722a2c 
								
							 
						 
						
							
							
								
								[mach-o] enable mach-o and native yaml to be intermixed  
							
							... 
							
							
							
							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 
							
						 
						
							2014-01-11 01:07:43 +00:00  
				
					
						
							
							
								 
						
							
								c955a0cfd3 
								
							 
						 
						
							
							
								
								[Mips] Reduce the number of type-casting calls.  
							
							... 
							
							
							
							llvm-svn: 198855 
							
						 
						
							2014-01-09 07:52:31 +00:00  
				
					
						
							
							
								 
						
							
								7f82bc590d 
								
							 
						 
						
							
							
								
								[Mips] Remove unnecessary #include pragma.  
							
							... 
							
							
							
							llvm-svn: 198798 
							
						 
						
							2014-01-08 22:00:35 +00:00  
				
					
						
							
							
								 
						
							
								d28918b289 
								
							 
						 
						
							
							
								
								Use getError instead of the error_code operator.  
							
							... 
							
							
							
							llvm-svn: 198797 
							
						 
						
							2014-01-08 22:00:09 +00:00  
				
					
						
							
							
								 
						
							
								073c2d2974 
								
							 
						 
						
							
							
								
								[Mips] GOT16 relocation against non-local symbol does not require a  
							
							... 
							
							
							
							paired LO16 relocation.
llvm-svn: 198790 
							
						 
						
							2014-01-08 20:43:03 +00:00  
				
					
						
							
							
								 
						
							
								05c88f9b61 
								
							 
						 
						
							
							
								
								[Mips] Add assert to check that we handle all paired relocations.  
							
							... 
							
							
							
							llvm-svn: 198789 
							
						 
						
							2014-01-08 20:42:52 +00:00  
				
					
						
							
							
								 
						
							
								2ab9f28977 
								
							 
						 
						
							
							
								
								[Mips] Factor out the code determines type of GOT entry (local/global)  
							
							... 
							
							
							
							into the separate function.
llvm-svn: 198788 
							
						 
						
							2014-01-08 20:42:45 +00:00  
				
					
						
							
							
								 
						
							
								50cf77bc2f 
								
							 
						 
						
							
							
								
								[Mips] Do not use standard relocation identifier R_MIPS_NONE for  
							
							... 
							
							
							
							internal purpose. Use special LLD_R_MIPS_GLOBAL_GOT constant for that.
llvm-svn: 198787 
							
						 
						
							2014-01-08 20:42:38 +00:00  
				
					
						
							
							
								 
						
							
								fc2e4e6a76 
								
							 
						 
						
							
							
								
								[Mips] Rename function to better reflect its purpose.  
							
							... 
							
							
							
							llvm-svn: 198786 
							
						 
						
							2014-01-08 20:42:30 +00:00  
				
					
						
							
							
								 
						
							
								eef5351416 
								
							 
						 
						
							
							
								
								[Mips] Do not save GOT headers atoms into the RelocationPass class  
							
							... 
							
							
							
							fields.
llvm-svn: 198785 
							
						 
						
							2014-01-08 20:42:23 +00:00  
				
					
						
							
							
								 
						
							
								30464f0293 
								
							 
						 
						
							
							
								
								[Mips] Rename some classes to skip redundant mentioning of 'mips'.  
							
							... 
							
							
							
							llvm-svn: 198784 
							
						 
						
							2014-01-08 20:42:17 +00:00  
				
					
						
							
							
								 
						
							
								6e0232ce59 
								
							 
						 
						
							
							
								
								[Mips] Move MipsGOTPass implementation to the separate file.  
							
							... 
							
							
							
							llvm-svn: 198783 
							
						 
						
							2014-01-08 20:42:11 +00:00  
				
					
						
							
							
								 
						
							
								36baa33fc1 
								
							 
						 
						
							
							
								
								[mach-o] properly extract atom content from subrange of section content  
							
							... 
							
							
							
							llvm-svn: 198728 
							
						 
						
							2014-01-08 02:52:58 +00:00  
				
					
						
							
							
								 
						
							
								360a1434f0 
								
							 
						 
						
							
							
								
								Use the mach-o MH_* name for file types in yaml  
							
							... 
							
							
							
							llvm-svn: 198725 
							
						 
						
							2014-01-08 01:38:07 +00:00  
				
					
						
							
							
								 
						
							
								903b14432d 
								
							 
						 
						
							
							
								
								Remove leading underscore from parameters.  
							
							... 
							
							
							
							llvm-svn: 198642 
							
						 
						
							2014-01-06 22:43:31 +00:00  
				
					
						
							
							
								 
						
							
								b5531d7edb 
								
							 
						 
						
							
							
								
								Rename parameters to fix shadow warnings.  
							
							... 
							
							
							
							llvm-svn: 198641 
							
						 
						
							2014-01-06 22:31:01 +00:00  
				
					
						
							
							
								 
						
							
								54174c6f16 
								
							 
						 
						
							
							
								
								[PECOFF] Simplify: Replace two-value enum with bool.  
							
							... 
							
							
							
							llvm-svn: 198634 
							
						 
						
							2014-01-06 19:55:58 +00:00  
				
					
						
							
							
								 
						
							
								41cb030b53 
								
							 
						 
						
							
							
								
								[MachO] Add some missing NListTypes.  
							
							... 
							
							
							
							llvm-svn: 198468 
							
						 
						
							2014-01-04 01:22:05 +00:00  
				
					
						
							
							
								 
						
							
								ceb16dedef 
								
							 
						 
						
							
							
								
								[MachO] Begin to add some MachO specific File/Atoms, and add the start of  
							
							... 
							
							
							
							normalizedToAtoms.
llvm-svn: 198459 
							
						 
						
							2014-01-03 23:12:02 +00:00  
				
					
						
							
							
								 
						
							
								76bc5157c2 
								
							 
						 
						
							
							
								
								Use scoped enum.  
							
							... 
							
							
							
							llvm-svn: 198396 
							
						 
						
							2014-01-03 03:29:15 +00:00  
				
					
						
							
							
								 
						
							
								1e259e79b9 
								
							 
						 
						
							
							
								
								No else after return.  
							
							... 
							
							
							
							llvm-svn: 198339 
							
						 
						
							2014-01-02 19:30:56 +00:00  
				
					
						
							
							
								 
						
							
								0518453e2e 
								
							 
						 
						
							
							
								
								The return value of createInternalFiles is unused, so remove it.  
							
							... 
							
							
							
							llvm-svn: 198266 
							
						 
						
							2013-12-31 19:15:42 +00:00  
				
					
						
							
							
								 
						
							
								93f760468e 
								
							 
						 
						
							
							
								
								Simplify if ... return repetition.  
							
							... 
							
							
							
							llvm-svn: 198108 
							
						 
						
							2013-12-28 10:09:21 +00:00  
				
					
						
							
							
								 
						
							
								ffd810525d 
								
							 
						 
						
							
							
								
								[PECOFF] Warn only when /export options are not compatible.  
							
							... 
							
							
							
							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 
							
						 
						
							2013-12-28 08:40:37 +00:00  
				
					
						
							
							
								 
						
							
								02dfdbcbd6 
								
							 
						 
						
							
							
								
								temporary commit  
							
							... 
							
							
							
							llvm-svn: 198103 
							
						 
						
							2013-12-28 08:40:23 +00:00