Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0ed1543d4e 
								
							 
						 
						
							
							
								
								Add support for emitting ARM file attributes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117275 
							
						 
						
							2010-10-25 17:50:35 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								800fd3533c 
								
							 
						 
						
							
							
								
								Add X86::reloc_global_offset_table and use it to have a single place where  
							
							 
							
							... 
							
							
							
							we check for _GLOBAL_OFFSET_TABLE_.
llvm-svn: 117241 
							
						 
						
							2010-10-24 17:35:42 +00:00  
						
					 
				
					
						
							
							
								 
								Wesley Peck
							
						 
						
							 
							
							
							
							
								
							
							
								1851090515 
								
							 
						 
						
							
							
								
								Making the e_machine configurable by the target backend in ELFObjectWriter.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117099 
							
						 
						
							2010-10-22 15:52:49 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								ee8d15157a 
								
							 
						 
						
							
							
								
								Small cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116848 
							
						 
						
							2010-10-19 19:31:37 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fba9f74932 
								
							 
						 
						
							
							
								
								Implement R_386_GOT32.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116744 
							
						 
						
							2010-10-18 20:47:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0a5314fdb3 
								
							 
						 
						
							
							
								
								Relocate with .bss instead of using the symbol. Matches gas behavior.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116741 
							
						 
						
							2010-10-18 20:25:33 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3604d4441a 
								
							 
						 
						
							
							
								
								Reenable assert.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116738 
							
						 
						
							2010-10-18 19:33:01 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								e3dc9e2ea1 
								
							 
						 
						
							
							
								
								Produce ELF::R_386_GOTPC relocations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116728 
							
						 
						
							2010-10-18 18:36:12 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								257374bb0f 
								
							 
						 
						
							
							
								
								Make the bots happy.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116719 
							
						 
						
							2010-10-18 18:03:28 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3521f8467d 
								
							 
						 
						
							
							
								
								Produce a R_386_PLT32 when needed. Moved the default cases of switches to the  
							
							 
							
							... 
							
							
							
							start for consistency.
llvm-svn: 116715 
							
						 
						
							2010-10-18 16:58:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								4464e0858f 
								
							 
						 
						
							
							
								
								Handle GOTOFF correctly on i386.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116711 
							
						 
						
							2010-10-18 16:38:04 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								77414757f6 
								
							 
						 
						
							
							
								
								Fix a typo and silence unused variable warnings in -Asserts build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116685 
							
						 
						
							2010-10-17 07:38:40 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								4262a22225 
								
							 
						 
						
							
							
								
								Add a MCObjectFormat class so that code common to all targets that use a  
							
							 
							
							... 
							
							
							
							single object format can be shared.
This also adds support for
mov zed+(bar-foo), %eax
on ELF and COFF targets.
llvm-svn: 116675 
							
						 
						
							2010-10-16 18:23:53 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								84378f0f53 
								
							 
						 
						
							
							
								
								Refactor alias handling to AliasedSymbol.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116600 
							
						 
						
							2010-10-15 18:25:33 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fbcf0db7ee 
								
							 
						 
						
							
							
								
								Refactor code a bit and avoid creating unnecessary entries in the string  
							
							 
							
							... 
							
							
							
							map.
llvm-svn: 116579 
							
						 
						
							2010-10-15 15:39:06 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								bee6e9f8e0 
								
							 
						 
						
							
							
								
								Remove some code duplication.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116484 
							
						 
						
							2010-10-14 16:34:44 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								883936ce0b 
								
							 
						 
						
							
							
								
								Another case of 256 sections not being enough :-)  
							
							 
							
							... 
							
							
							
							llvm-svn: 115858 
							
						 
						
							2010-10-06 22:28:19 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								5f2d6a5cd9 
								
							 
						 
						
							
							
								
								Get binding and visibility info from the the alias, but Type from the symbol  
							
							 
							
							... 
							
							
							
							being aliased.
llvm-svn: 115836 
							
						 
						
							2010-10-06 21:02:29 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d444577382 
								
							 
						 
						
							
							
								
								If a symbol is global, reloc against it even if it is in a mergeable section.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115817 
							
						 
						
							2010-10-06 19:27:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								83b2a3337f 
								
							 
						 
						
							
							
								
								Make sure weak symbols are listed after the local ones.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115795 
							
						 
						
							2010-10-06 16:47:31 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8f3d2c9058 
								
							 
						 
						
							
							
								
								Correctly handle GOTPCREL relocations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115793 
							
						 
						
							2010-10-06 16:23:36 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d7565c3a06 
								
							 
						 
						
							
							
								
								Use a relocation against the symbol if it is a PLT and the symbol is in another  
							
							 
							
							... 
							
							
							
							section. Common because of linkonce sections.
llvm-svn: 115718 
							
						 
						
							2010-10-05 23:57:26 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0ad137e98e 
								
							 
						 
						
							
							
								
								Implement more alias cases.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115699 
							
						 
						
							2010-10-05 22:26:43 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3844da781f 
								
							 
						 
						
							
							
								
								256 sections should be enough for anyone...  
							
							 
							
							... 
							
							
							
							llvm-svn: 115687 
							
						 
						
							2010-10-05 21:20:07 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								c58a37ea51 
								
							 
						 
						
							
							
								
								Don't crash in a strange .size directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115684 
							
						 
						
							2010-10-05 21:02:45 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b1d0789357 
								
							 
						 
						
							
							
								
								Implement a simple alias case and refactor the code a bit so that the  
							
							 
							
							... 
							
							
							
							isInSymtab and isLocal logic in the two loops don't get easily out of sync.
llvm-svn: 115643 
							
						 
						
							2010-10-05 18:01:23 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d03e81dba8 
								
							 
						 
						
							
							
								
								Produce a undefined reference to _GLOBAL_OFFSET_TABLE_ when needed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115623 
							
						 
						
							2010-10-05 15:48:37 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								bce26a1ee0 
								
							 
						 
						
							
							
								
								On ELF we need to know which symbols are used in relocations to decide if  
							
							 
							
							... 
							
							
							
							they should be in the symbol table or not. Instead of "guessing", just compute
the symbol table after the relocations are known.
llvm-svn: 115619 
							
						 
						
							2010-10-05 15:11:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fd1fff8b19 
								
							 
						 
						
							
							
								
								Implement ELF::R_X86_64_GOTPCREL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115547 
							
						 
						
							2010-10-04 19:51:39 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								308363336b 
								
							 
						 
						
							
							
								
								Move isFixupKindX86PCRel.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115545 
							
						 
						
							2010-10-04 19:46:28 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								baadbd554a 
								
							 
						 
						
							
							
								
								Produce a R_X86_64_PLT32 when needed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115541 
							
						 
						
							2010-10-04 19:04:13 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b2c4ca6433 
								
							 
						 
						
							
							
								
								Produce a R_X86_64_GOT32 when needed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115537 
							
						 
						
							2010-10-04 18:44:25 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								da0e3d07b2 
								
							 
						 
						
							
							
								
								Include the section address in the computation of the relocation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115509 
							
						 
						
							2010-10-04 15:59:01 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								7c48b06930 
								
							 
						 
						
							
							
								
								Correctly compute the relocation when it is not in the first fragment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115506 
							
						 
						
							2010-10-04 15:28:43 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f70b4e0c2e 
								
							 
						 
						
							
							
								
								Implement a very basic PIC case.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115454 
							
						 
						
							2010-10-03 00:46:57 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f987d5ea1c 
								
							 
						 
						
							
							
								
								Factor some logic into ShouldRelocOnSymbol. This simplifies the code and  
							
							 
							
							... 
							
							
							
							fixes some cases where we were producing relocations with at symbol that
should use a section instead.
llvm-svn: 115194 
							
						 
						
							2010-09-30 20:18:35 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								70d6e0e0ff 
								
							 
						 
						
							
							
								
								Correctly produce R_X86_64_32 or R_X86_64_32S.  
							
							 
							
							... 
							
							
							
							With this patch in
movq    $foo, foo(%rip)
foo:
.long   foo
We produce a R_X86_64_32S for the first relocation and R_X86_64_32 for the
second one.
llvm-svn: 115134 
							
						 
						
							2010-09-30 03:11:42 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2ebaee9c75 
								
							 
						 
						
							
							
								
								Make it possible for the MCObjectWriter to decide if a given fixup is fully  
							
							 
							
							... 
							
							
							
							resolved or not. Different object files have different restrictions and
different native assemblers have different idiosyncrasies we want to emulate
for now.
Move the existing MachO logic to the new place and implement an ELF one that
gets fixups to globals right.
llvm-svn: 115131 
							
						 
						
							2010-09-30 02:22:20 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								01d20a76fe 
								
							 
						 
						
							
							
								
								On elf, undefined symbols can start with .L.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114958 
							
						 
						
							2010-09-28 16:19:11 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								96bfb50c03 
								
							 
						 
						
							
							
								
								Write relocations in the end of the file. This matches what gas does and  
							
							 
							
							... 
							
							
							
							makes files easier to diff.
llvm-svn: 114898 
							
						 
						
							2010-09-27 22:04:54 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9735f4ff8d 
								
							 
						 
						
							
							
								
								Factor symbol value computation into a function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114891 
							
						 
						
							2010-09-27 21:23:02 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								75d65b9a03 
								
							 
						 
						
							
							
								
								Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to put  
							
							 
							
							... 
							
							
							
							symbols defined in merge sections in independent atoms.
llvm-svn: 114786 
							
						 
						
							2010-09-25 05:42:19 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								cf1f985838 
								
							 
						 
						
							
							
								
								Reapply 114678 and 114667. Reverting them did not fix the bot:  
							
							 
							
							... 
							
							
							
							http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost/builds/69 
llvm-svn: 114761 
							
						 
						
							2010-09-24 21:19:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3843bb9d2c 
								
							 
						 
						
							
							
								
								Revert 114678 and 114667 to see if  
							
							 
							
							... 
							
							
							
							http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost 
gets happy.
llvm-svn: 114742 
							
						 
						
							2010-09-24 18:48:08 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f458f04eb1 
								
							 
						 
						
							
							
								
								Correctly handle weak undefined symbols. Before we would get a invalid binding  
							
							 
							
							... 
							
							
							
							(2 == STB_WEAK | STB_GLOBAL).
llvm-svn: 114690 
							
						 
						
							2010-09-23 19:55:14 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								6366d1b858 
								
							 
						 
						
							
							
								
								Correctly compute the offset of the symbol. Forgot these bits from the  
							
							 
							
							... 
							
							
							
							last commit.
llvm-svn: 114678 
							
						 
						
							2010-09-23 18:01:31 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								48e108753b 
								
							 
						 
						
							
							
								
								Represent relocations against local symbols as relocations against the section  
							
							 
							
							... 
							
							
							
							they are in. Both ways should be equivalent, but gas produces relocations
against the section.
Roman wrote the patch, I added the test.
llvm-svn: 114667 
							
						 
						
							2010-09-23 17:25:18 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2816588eb9 
								
							 
						 
						
							
							
								
								Fix the FIXME.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114639 
							
						 
						
							2010-09-23 14:14:56 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0e527b7ed5 
								
							 
						 
						
							
							
								
								Fix typo and add a FIXME.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114570 
							
						 
						
							2010-09-22 19:04:41 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								461a692c7f 
								
							 
						 
						
							
							
								
								Revert unrelated change that was accidentally included in the previous commit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114383 
							
						 
						
							2010-09-21 00:40:19 +00:00