Rafael Espindola 
							
						 
					 
					
						
						
							
						
						1f4f9e3d35 
					 
					
						
						
							
							Handle a peculiar comdat case: Creating a section with an undefined  
						
						... 
						
						
						
						signature symbol causes a local symbol to be created unless there is
some other use of the symbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119026  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-14 04:17:37 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						ab4a7afe98 
					 
					
						
						
							
							Simplify getSymbolIndexInSymbolTable by setting the actual index of  
						
						... 
						
						
						
						the symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119022  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-14 03:12:24 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						115a3dd066 
					 
					
						
						
							
							MC: Simplify Mach-O and ELF object writer implementations.  
						
						... 
						
						
						
						- What was I thinking?????
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118992  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-13 07:33:40 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						1261a2ff99 
					 
					
						
						
							
							MCELF: Copy the symbol name only if we're going to modify it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118920  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-12 19:26:04 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						2ff9e83a82 
					 
					
						
						
							
							Initial comdat implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118805  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-11 18:13:52 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						9302bd664d 
					 
					
						
						
							
							Make AliasedSymbol able to handle MCTargetExpr. They can get here if  
						
						... 
						
						
						
						a weakref is used with a VariantKind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118798  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-11 17:24:43 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						03f1b74aed 
					 
					
						
						
							
							Fix the symbol index of weak references. Also make RecordRelocation a bit  
						
						... 
						
						
						
						easier to read by having const references to the symbol, aliased symbol and
renamed symbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118793  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-11 16:48:11 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						3f2d13c98e 
					 
					
						
						
							
							Remove some explicit arguments to getELFSection. This is  
						
						... 
						
						
						
						a leftover from the removal of isExplicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118774  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-11 03:40:25 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						c87a94a942 
					 
					
						
						
							
							Factor some code into WriteSection.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118733  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-10 23:36:59 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						1d739a010d 
					 
					
						
						
							
							Update the section index map after we add the medatada sections.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118728  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-10 22:34:07 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						4beee3d06b 
					 
					
						
						
							
							Use SectionIndexMap in WriteSymbolTable to make it a little less brittle.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118725  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-10 22:16:43 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						bab2a80525 
					 
					
						
						
							
							Factor some code into ComputeIndexMap.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118722  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-10 21:51:05 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						af3d38f70e 
					 
					
						
						
							
							Change the String<size> methods to take a fragment instead of a buffer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118709  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-10 20:02:59 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						4283f4b81e 
					 
					
						
						
							
							Use MCSectionELF in places we know we have an ELF section.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118699  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-10 19:05:07 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						34be396a12 
					 
					
						
						
							
							Fixed version of 118639 with an extra assert to catch similar problems  
						
						... 
						
						
						
						earlier. Implicit bool -> int conversions are evil!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118651  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-09 23:42:07 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						037b5be15a 
					 
					
						
						
							
							Revert previous patch. Missed a case.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118645  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-09 22:54:38 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						e61a1ac595 
					 
					
						
						
							
							Remove IsExplicit. It was always false.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118639  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-09 22:37:44 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						484291c273 
					 
					
						
						
							
							Implement .weakref.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117911  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-01 14:28:48 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						7be2c33193 
					 
					
						
						
							
							Add support for files with more than 65280 sections. No testcase since  
						
						... 
						
						
						
						it would be a bit too big :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117849  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-31 00:16:26 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						d179886f05 
					 
					
						
						
							
							Be more strict on when we produce an undefined reference. In gas a file with  
						
						... 
						
						
						
						just
.type   foo,@object
will produce an undefined reference to foo. On the other hand, a file with
just
.weakref bar, foo
will not. It is somewhat hard to support both in MC since both statements
should create the symbols. It should be possible if we really need to by
adding to the flags, but hopefully that is not necessary.
With this patch we do not produce a undefined reference in any of those cases.
The assembly file needs an actual use for the undefined reference to be
present.
This is in preparation for a patch implementing .weakref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117735  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-29 23:09:31 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						1973d43792 
					 
					
						
						
							
							Defined weak symbols should have non-zero value.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117585  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 19:39:57 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						29129728f1 
					 
					
						
						
							
							Fix relocations with renamed symbols.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 19:08:03 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f571f9a8fe 
					 
					
						
						
							
							Aliases defined with .symver should copy the binding of the symbols they alias.  
						
						... 
						
						
						
						Move the existing patching for undefined symbols so that all the patching
is done in the same function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117570  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 18:33:03 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						aa8f1f0135 
					 
					
						
						
							
							Implement R_X86_64_DTPOFF32.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117548  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 15:11:03 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						b4d1721eff 
					 
					
						
						
							
							Implement TLSLD.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117547  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 15:02:40 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						0cf15d61b7 
					 
					
						
						
							
							Implement DTPOFF.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117546  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 14:48:59 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						a264f72d3f 
					 
					
						
						
							
							Implement TLSLDM.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117544  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 14:37:09 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						a0a2f8734c 
					 
					
						
						
							
							Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117543  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 14:22:44 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						3cede2d0b2 
					 
					
						
						
							
							Add support for R_386_TLS_GD, R_386_TLS_LE_32, R_386_TLS_IE and R_386_TLS_LE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 21:23:52 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						bc82d8b84f 
					 
					
						
						
							
							Implement R_X86_64_GOTTPOFF, R_X86_64_TLSGD and R_X86_64_TPOFF32.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117481  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 20:28:07 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						07ee63283c 
					 
					
						
						
							
							Replace pointer arithmetic with StringRef::substr.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117477  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 19:53:52 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						83ff4d2b0d 
					 
					
						
						
							
							Produce an error for an invalid use of .symver.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117462  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 17:56:18 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						bf052ac5d1 
					 
					
						
						
							
							Symbols defined as the difference of other two end up in the ABS section.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117451  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 16:04:30 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						8818213247 
					 
					
						
						
							
							Add support for the .symver directive. This is really ugly, but most of it is  
						
						... 
						
						
						
						contained in the ELF object writer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117448  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 15:18:17 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						a6866969ba 
					 
					
						
						
							
							Move more logic to isInSymtab and simplify.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 14:44:52 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						cecbc3d282 
					 
					
						
						
							
							Add support for emitting ARM file attributes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117275  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-25 17:50:35 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						24ba4f7f5f 
					 
					
						
						
							
							Add X86::reloc_global_offset_table and use it to have a single place where  
						
						... 
						
						
						
						we check for _GLOBAL_OFFSET_TABLE_.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117241  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-24 17:35:42 +00:00 
						 
				 
			
				
					
						
							
							
								Wesley Peck 
							
						 
					 
					
						
						
							
						
						eecb858ca8 
					 
					
						
						
							
							Making the e_machine configurable by the target backend in ELFObjectWriter.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117099  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-22 15:52:49 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						bd70118f16 
					 
					
						
						
							
							Small cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116848  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-19 19:31:37 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						eada304793 
					 
					
						
						
							
							Implement R_386_GOT32.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116744  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 20:47:21 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						ce2d3c5775 
					 
					
						
						
							
							Relocate with .bss instead of using the symbol. Matches gas behavior.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116741  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 20:25:33 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						24dc9ecdc5 
					 
					
						
						
							
							Reenable assert.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 19:33:01 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						aa85c21633 
					 
					
						
						
							
							Produce ELF::R_386_GOTPC relocations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116728  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 18:36:12 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						9baee3b3a3 
					 
					
						
						
							
							Make the bots happy.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116719  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 18:03:28 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						9edab3a9e1 
					 
					
						
						
							
							Produce a R_386_PLT32 when needed. Moved the default cases of switches to the  
						
						... 
						
						
						
						start for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116715  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 16:58:03 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						c97f80efc8 
					 
					
						
						
							
							Handle GOTOFF correctly on i386.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116711  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 16:38:04 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						24f1206c7d 
					 
					
						
						
							
							Fix a typo and silence unused variable warnings in -Asserts build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116685  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-17 07:38:40 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f230df9af4 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116675  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-16 18:23:53 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						de89b010b0 
					 
					
						
						
							
							Refactor alias handling to AliasedSymbol.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116600  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-15 18:25:33 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						5df0b65e8f 
					 
					
						
						
							
							Refactor code a bit and avoid creating unnecessary entries in the string  
						
						... 
						
						
						
						map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116579  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-15 15:39:06 +00:00