Rafael Espindola 
							
						 
					 
					
						
						
							
						
						32a006e606 
					 
					
						
						
							
							Try to resolve symbol differences early, and if successful create a plain  
						
						... 
						
						
						
						data fragment. This reduces the time to assemble the test in 8711 from 60s to
54s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120767  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 00:55:40 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						e23930543c 
					 
					
						
						
							
							Move EmitValueToOffset to the ObjectStreamer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120691  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-02 05:59:38 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						dedb045c32 
					 
					
						
						
							
							Add EmitInstToFragment to the generic object streamer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-02 05:44:06 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						6f95023a7f 
					 
					
						
						
							
							Move EmitValue to MCObjectStreamer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120269  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-28 23:08:47 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						ea4afa91eb 
					 
					
						
						
							
							Fixed verson of r120245.  
						
						... 
						
						
						
						Factor some duplicated code into MCObjectStreamer::EmitLabel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120248  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-28 17:18:55 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						ba210243ef 
					 
					
						
						
							
							Revert previous patch while I debug the darwin bootstrap failure.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120246  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-28 16:22:59 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f90a2de72c 
					 
					
						
						
							
							Factor some duplicated code into MCObjectStreamer::EmitLabel.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120245  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-28 15:54:36 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						3e03211625 
					 
					
						
						
							
							Avoid code duplication in the many unsupported EmitGPRel32Value implementations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120243  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-28 15:09:24 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						e04ed7e45f 
					 
					
						
						
							
							Define generic 1, 2 and 4 byte pc relative relocations. They are common  
						
						... 
						
						
						
						and at least the 4 byte one will be needed to implement the .cfi_* directives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120240  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-28 14:17:56 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						bf8209daf8 
					 
					
						
						
							
							Fix and add tests for all cases in x86 and x86_64 where gnu as implicitly  
						
						... 
						
						
						
						sets the type of a symbol to STT_TLS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120100  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-24 18:51:21 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						97551276c5 
					 
					
						
						
							
							If a symbol is used as tls, mark it as tls even if not declare as so. Probably  
						
						... 
						
						
						
						fixes PR8659.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120076  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-24 02:19:40 +00:00 
						 
				 
			
				
					
						
							
							
								Kevin Enderby 
							
						 
					 
					
						
						
							
						
						e8e98d7f2e 
					 
					
						
						
							
							Added support for the Mach-O .symbol_resolver directive.  rdar://8673046  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119816  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-19 18:39:33 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						195a0ce484 
					 
					
						
						
							
							Change some methods in MCDwarf.cpp to be able to handle an arbitrary  
						
						... 
						
						
						
						MCStreamer instead of just MCObjectStreamer. Address changes cannot
be as efficient as we have to use DW_LNE_set_addres, but at least
most of the logic is shared.
This will be used so that, with CodeGen still using EmitDwarfLocDirective,
llvm-gcc is able to produce debug_line sections without needing an
assembler that supports .loc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119777  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-19 02:26:16 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						af6b580875 
					 
					
						
						
							
							Add .loc methods to the streamer.  
						
						... 
						
						
						
						Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer
and then switch codegen to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119384  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-16 21:20:32 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						94ed5fca3f 
					 
					
						
						
							
							Change MCExpr::EvaluateAsRelocatableImpl of variables to return the original  
						
						... 
						
						
						
						variable if recursing fails to simplify it.
Factor AliasedSymbol to be a method of MCSymbol.
Update MCAssembler::EvaluateFixup to match the change in
EvaluateAsRelocatableImpl.
Remove the WeakRefExpr hack, as the object writer now sees the weakref with
no extra effort needed.
Nothing else is using MCTargetExpr, but keep it for now.
Now that the ELF writer sees relocations with aliases, handle
    .weak    foo2
foo2:
    .weak    bar2
    .set    bar2,foo2
    .quad    bar2
the same way gas does and produce a relocation with bar2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119152  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-15 16:33:49 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						55d02f3a13 
					 
					
						
						
							
							Fix another case of a .comm directive without a corresponding .type  
						
						... 
						
						
						
						directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119073  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-14 21:11:16 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						765fb1a446 
					 
					
						
						
							
							Fix the type of a symbol created with .comm and no corresponding .type.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-14 19:40:55 +00:00 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						7e528a1724 
					 
					
						
						
							
							Fix warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119021  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-14 01:34:31 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						e1a2587ee2 
					 
					
						
						
							
							Mark labels declared in tls sections as STT_TLS. This matches the behavior of  
						
						... 
						
						
						
						gas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118818  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-11 19:04:55 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						ba21957cbd 
					 
					
						
						
							
							Add '.code 32' assembler directive to MC streamers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-05 22:40:09 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						ce79299f78 
					 
					
						
						
							
							MC'ize the '.code 16' and '.thumb_func' ARM directives.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118301  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-05 22:08:08 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						f79856986d 
					 
					
						
						
							
							Put class into an anonymous namespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118294  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-05 19:56:38 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						c70a1d985a 
					 
					
						
						
							
							Write the line info to .debug_line.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117930  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-01 17:07:14 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f89671d994 
					 
					
						
						
							
							Move EmitInstruction to MCObjectStreamer so that ELF and MachO can share it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117925  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-01 16:27:31 +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 
							
						 
					 
					
						
						
							
						
						3223f19ff0 
					 
					
						
						
							
							Make sure weak symbols are listed after the local ones.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115795  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-06 16:47:31 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						8f413fa9c0 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115619  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-05 15:11:03 +00:00 
						 
				 
			
				
					
						
							
							
								Jason W Kim 
							
						 
					 
					
						
						
							
						
						afd1cc2578 
					 
					
						
						
							
							Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()  
						
						... 
						
						
						
						Small test for sanity check of resulting ARM .s file.
Tested against -r115129.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-30 02:45:56 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						9e3922e949 
					 
					
						
						
							
							Move "local commons" to the end of .bss to match the gnu as behavior.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115037  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-29 14:52:01 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						73ffea47d2 
					 
					
						
						
							
							Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to put  
						
						... 
						
						
						
						symbols defined in merge sections in independent atoms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114786  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-25 05:42:19 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						59ff3c9134 
					 
					
						
						
							
							Avoid some Mach-O specific alignment being done on ELF.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114594  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-22 22:27:05 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						1963572f9d 
					 
					
						
						
							
							Correctly align bss.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114556  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-22 17:43:04 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f7c10a3cff 
					 
					
						
						
							
							Implement support for .local and its "interesting" interactions with .comm.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114382  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 00:24:38 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						d80781b98b 
					 
					
						
						
							
							Add a InitSections method to the streamer interface.  
						
						... 
						
						
						
						The ELF implementation now creates text, data and bss to match the gnu as
behavior.
The text streamer still has the old MachO specific behavior since
the testsuite checks that it will error when a directive is given
before a setting the current section for example.
A nice benefit is that -n is not required anymore when producing
ELF files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114027  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-15 21:48:40 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f713384be5 
					 
					
						
						
							
							Factoring and potential bug fix. The elf "flags" cannot be used as masks.  
						
						... 
						
						
						
						For example, setting STT_OBJECT (1) and STT_FUNC (2), should not produce
a STT_SECTION (3).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113759  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-13 17:39:45 +00:00 
						 
				 
			
				
					
						
							
							
								Roman Divacky 
							
						 
					 
					
						
						
							
						
						b629dcca72 
					 
					
						
						
							
							ELF_STB_Local is 0 so setting and checking it must be done specially  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-08 18:08:40 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						230c274724 
					 
					
						
						
							
							Allow MCSA_WeakRef in ELF. Patch by Roman Divacky.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112834  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-02 17:18:32 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						82a3171b72 
					 
					
						
						
							
							Mark all common symbols external. This is not exactly correct but it lets apps  
						
						... 
						
						
						
						link for now and can be adjusted later. Patch by Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-30 11:56:55 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						93ded7371f 
					 
					
						
						
							
							MCELF: Port EmitInstruction changes from MachO streamer. Patch by Roman Divacky.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112260  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-27 10:40:51 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						f8020a3978 
					 
					
						
						
							
							Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111175  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 19:15:06 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Fleming 
							
						 
					 
					
						
						
							
						
						3565a06ebf 
					 
					
						
						
							
							Add ELF ObjectWriter and Streamer support.  
						
						... 
						
						
						
						I forgot to add these files in commit 111172.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111174  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 18:57:57 +00:00