83d4a28d1f 
								
							 
						 
						
							
							
								
								Revise r126127 to address Daniel's comments.  <rdar://problem/9012638>  
							
							... 
							
							
							
							llvm-svn: 127939 
							
						 
						
							2011-03-19 01:32:01 +00:00  
				
					
						
							
							
								 
						
							
								601a11edd4 
								
							 
						 
						
							
							
								
								Fix llvm-gcc bootstrap with gnu ld.  
							
							... 
							
							
							
							The problem was codegen guessing the wrong values and printing
	.section	.eh_frame,"aMS",@progbits,4
It is not clear at all if Codegen should try to guess, MC is the
one that should know the default flags.
llvm-svn: 126421 
							
						 
						
							2011-02-24 20:18:01 +00:00  
				
					
						
							
							
								 
						
							
								9b48fef478 
								
							 
						 
						
							
							
								
								Revert r125960, it's breaking darwin10 bootstrap.  
							
							... 
							
							
							
							llvm-svn: 126163 
							
						 
						
							2011-02-21 23:52:19 +00:00  
				
					
						
							
							
								 
						
							
								b4863a41e9 
								
							 
						 
						
							
							
								
								Fix to correctly support attribute((section("__DATA, __common"))).  
							
							... 
							
							
							
							Radar 9012638.
llvm-svn: 126127 
							
						 
						
							2011-02-21 17:27:17 +00:00  
				
					
						
							
							
								 
						
							
								8fbe09f160 
								
							 
						 
						
							
							
								
								Reapply r114997 now that the buildbots have been updated.  
							
							... 
							
							
							
							llvm-svn: 125960 
							
						 
						
							2011-02-18 21:12:58 +00:00  
				
					
						
							
							
								 
						
							
								70d8015063 
								
							 
						 
						
							
							
								
								Switch llvm to using comdats. For now always use groups with a single  
							
							... 
							
							
							
							section.
llvm-svn: 125526 
							
						 
						
							2011-02-14 22:23:49 +00:00  
				
					
						
							
							
								 
						
							
								4b7b7fba38 
								
							 
						 
						
							
							
								
								Delay the creation of eh_frame so that the user can change the defaults.  
							
							... 
							
							
							
							Add support for SHT_X86_64_UNWIND.
llvm-svn: 124059 
							
						 
						
							2011-01-23 05:43:40 +00:00  
				
					
						
							
							
								 
						
							
								0e7e34e476 
								
							 
						 
						
							
							
								
								Remove more duplicated code.  
							
							... 
							
							
							
							llvm-svn: 124056 
							
						 
						
							2011-01-23 04:43:11 +00:00  
				
					
						
							
							
								 
						
							
								aea4958ea6 
								
							 
						 
						
							
							
								
								Remove duplicated code.  
							
							... 
							
							
							
							llvm-svn: 124054 
							
						 
						
							2011-01-23 04:28:49 +00:00  
				
					
						
							
							
								 
						
							
								0a017a6db2 
								
							 
						 
						
							
							
								
								Fixed version of 121434 with no new memory leaks.  
							
							... 
							
							
							
							llvm-svn: 121471 
							
						 
						
							2010-12-10 07:39:47 +00:00  
				
					
						
							
							
								 
						
							
								a945a34c73 
								
							 
						 
						
							
							
								
								Revert my previous patch to make the valgrind bots happy.  
							
							... 
							
							
							
							llvm-svn: 121461 
							
						 
						
							2010-12-10 04:01:09 +00:00  
				
					
						
							
							
								 
						
							
								56eb741237 
								
							 
						 
						
							
							
								
								Initial support for the cfi directives. This is just enough to get  
							
							... 
							
							
							
							f:
        .cfi_startproc
        nop
        .cfi_endproc
assembled (on ELF).
llvm-svn: 121434 
							
						 
						
							2010-12-09 23:48:29 +00:00  
				
					
						
							
							
								 
						
							
								9bb44a5ce8 
								
							 
						 
						
							
							
								
								Fixed version of 118639 with an extra assert to catch similar problems  
							
							... 
							
							
							
							earlier. Implicit bool -> int conversions are evil!
llvm-svn: 118651 
							
						 
						
							2010-11-09 23:42:07 +00:00  
				
					
						
							
							
								 
						
							
								0f83d96852 
								
							 
						 
						
							
							
								
								COFF: Add IMAGE_SCN_MEM_READ to text sections.  
							
							... 
							
							
							
							There are currently 100 references to COFF::IMAGE_SCN in 6 files
and 11 different functions. Section to attribute mapping really
needs to happen in one place to avoid problems like this.
llvm-svn: 117473 
							
						 
						
							2010-10-27 18:52:29 +00:00  
				
					
						
							
							
								 
						
							
								fbdab0d633 
								
							 
						 
						
							
							
								
								Fix whitespace.  
							
							... 
							
							
							
							llvm-svn: 117472 
							
						 
						
							2010-10-27 18:52:20 +00:00  
				
					
						
							
							
								 
						
							
								392f084f46 
								
							 
						 
						
							
							
								
								lib/CodeGen/TargetLoweringObjectFileImpl.cpp: Tweak to emit ".{section}${name}" instead of ".{section}$linkonce_{name}" for linkonce sections.  
							
							... 
							
							
							
							It seems GNU ld/PECOFF relies on section names, linking with g++'s libstdc++.a would fail.
llvm-svn: 116791 
							
						 
						
							2010-10-19 03:24:42 +00:00  
				
					
						
							
							
								 
						
							
								fc3642b205 
								
							 
						 
						
							
							
								
								Do not check that the bodies of two defs of same linkonce global are the same.  
							
							... 
							
							
							
							Such a check does not make any sense in presense of inlining and other compiler-dependent stuff.
This should fix bunch of warnings on mingw32.
llvm-svn: 116113 
							
						 
						
							2010-10-08 21:50:04 +00:00  
				
					
						
							
							
								 
						
							
								b0b2c57149 
								
							 
						 
						
							
							
								
								Revert r114997. It was causing a failure on darwin10-selfhost.  
							
							... 
							
							
							
							llvm-svn: 115002 
							
						 
						
							2010-09-28 23:11:55 +00:00  
				
					
						
							
							
								 
						
							
								d848beb1e5 
								
							 
						 
						
							
							
								
								Fix a FIXME. _foo.eh symbols are currently always exported so that the linker  
							
							... 
							
							
							
							knows about them. This is not necessary on 10.6 and later.
llvm-svn: 114997 
							
						 
						
							2010-09-28 22:36:56 +00:00  
				
					
						
							
							
								 
						
							
								9f06f911d1 
								
							 
						 
						
							
							
								
								the latest assembler that runs on powerpc 10.4 machines doesn't  
							
							... 
							
							
							
							support aligned comm.  Detect when compiling for 10.4 and don't
emit an alignment for comm.  THis will hopefully fix PR8198.
llvm-svn: 114817 
							
						 
						
							2010-09-27 06:44:54 +00:00  
				
					
						
							
							
								 
						
							
								34bfab0ad5 
								
							 
						 
						
							
							
								
								two changes:  
							
							... 
							
							
							
							1) nuke ConstDataCoalSection, which is dead.
2) revise my previous patch for rdar://8018335,
  which was completely wrong.  Specifically, it doesn't 
  make sense to mark __TEXT,__const_coal as PURE_INSTRUCTIONS,
  because it is for readonly data.  templates (it turns out)
  go to const_coal_nt.  The real fix for rdar://8018335 was
  to give ConstTextCoalSection a section kind of ReadOnly 
  instead of Text.
llvm-svn: 112496 
							
						 
						
							2010-08-30 18:12:35 +00:00  
				
					
						
							
							
								 
						
							
								60b131654b 
								
							 
						 
						
							
							
								
								fix the definitions of ConstTextCoalSection/ConstDataCoalSection  
							
							... 
							
							
							
							to keep "Text" in sync with the "pure instructions" section attribute.
Lack of this attribute was preventing the assembler from emitting
multibyte noops instructions for templates (and inlines, and other
coalesced stuff) and was causing the assembler to mismatch .o files.
This fixes rdar://8018335
llvm-svn: 108461 
							
						 
						
							2010-07-15 21:22:00 +00:00  
				
					
						
							
							
								 
						
							
								e415230477 
								
							 
						 
						
							
							
								
								Fix a major regression on COFF targets introduced by r103267: 'discardable' section means that it is used only during the program load and can be discarded afterwards.  
							
							... 
							
							
							
							This way *only* debug sections can be discarded, but not the opposite. Seems like the copy-and-pasto from ELF code, since there it contains the reverse flag ('alloc').
llvm-svn: 107658 
							
						 
						
							2010-07-06 15:24:56 +00:00  
				
					
						
							
							
								 
						
							
								329d202362 
								
							 
						 
						
							
							
								
								MC: Move COFF enumeration constants to llvm/Support/COFF.h, patch by Michael  
							
							... 
							
							
							
							Spencer!
llvm-svn: 107418 
							
						 
						
							2010-07-01 20:07:24 +00:00  
				
					
						
							
							
								 
						
							
								3632171750 
								
							 
						 
						
							
							
								
								Revert r107205 and r107207.  
							
							... 
							
							
							
							llvm-svn: 107215 
							
						 
						
							2010-06-29 22:34:52 +00:00  
				
					
						
							
							
								 
						
							
								1767723dbe 
								
							 
						 
						
							
							
								
								Introducing the "linker_weak" linkage type. This will be used for Objective-C  
							
							... 
							
							
							
							metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:
       .globl l_objc_msgSend_fixup_alloc
       .weak_definition l_objc_msgSend_fixup_alloc
       .section __DATA, __objc_msgrefs, coalesced
       .align 3
l_objc_msgSend_fixup_alloc:
        .quad   _objc_msgSend_fixup
        .quad   L_OBJC_METH_VAR_NAME_1
This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".
llvm-svn: 107205 
							
						 
						
							2010-06-29 21:24:00 +00:00  
				
					
						
							
							
								 
						
							
								19a4b843cc 
								
							 
						 
						
							
							
								
								Add support for initialized global data for darwin tls.  Update comments  
							
							... 
							
							
							
							and testcases accordingly.
llvm-svn: 104635 
							
						 
						
							2010-05-25 21:28:50 +00:00  
				
					
						
							
							
								 
						
							
								6fdea1bda8 
								
							 
						 
						
							
							
								
								Add full bss data support for darwin tls variables.  
							
							... 
							
							
							
							llvm-svn: 104414 
							
						 
						
							2010-05-22 00:10:22 +00:00  
				
					
						
							
							
								 
						
							
								9635b3da6b 
								
							 
						 
						
							
							
								
								More data/parsing support for tls directives.  Add a few more testcases  
							
							... 
							
							
							
							and cleanup comments as well.
llvm-svn: 103985 
							
						 
						
							2010-05-17 22:53:55 +00:00  
				
					
						
							
							
								 
						
							
								bf79238599 
								
							 
						 
						
							
							
								
								Add some section and constant support for darwin TLS.  
							
							... 
							
							
							
							llvm-svn: 103974 
							
						 
						
							2010-05-17 21:02:07 +00:00  
				
					
						
							
							
								 
						
							
								028449325b 
								
							 
						 
						
							
							
								
								add COFF support for COMDAT sections, patch by Nathan Jeffords!  
							
							... 
							
							
							
							llvm-svn: 103304 
							
						 
						
							2010-05-07 21:49:09 +00:00  
				
					
						
							
							
								 
						
							
								87cffa9498 
								
							 
						 
						
							
							
								
								switch MCSectionCOFF from a syntactic to semantic representation,  
							
							... 
							
							
							
							patch by Peter Housel!
llvm-svn: 103267 
							
						 
						
							2010-05-07 17:17:41 +00:00  
				
					
						
							
							
								 
						
							
								5b212a31a2 
								
							 
						 
						
							
							
								
								add llvm codegen support for -ffunction-sections and -fdata-sections,  
							
							... 
							
							
							
							patch by Sylvere Teissier!
llvm-svn: 101106 
							
						 
						
							2010-04-13 00:36:43 +00:00  
				
					
						
							
							
								 
						
							
								80c345927e 
								
							 
						 
						
							
							
								
								delete a forwarding function.  
							
							... 
							
							
							
							llvm-svn: 100815 
							
						 
						
							2010-04-08 21:34:17 +00:00  
				
					
						
							
							
								 
						
							
								5418dd5fda 
								
							 
						 
						
							
							
								
								move elf section uniquing to MCContext.  Along the way  
							
							... 
							
							
							
							merge XCore's section into MCSectionELF
llvm-svn: 100812 
							
						 
						
							2010-04-08 21:26:26 +00:00  
				
					
						
							
							
								 
						
							
								433d40695b 
								
							 
						 
						
							
							
								
								remove the TargetLoweringObjectFileMachO::getMachoSection  
							
							... 
							
							
							
							api and update clients to use MCContext instead.
llvm-svn: 100808 
							
						 
						
							2010-04-08 20:40:11 +00:00  
				
					
						
							
							
								 
						
							
								2073112fc0 
								
							 
						 
						
							
							
								
								move macho section uniquing from MCParser and TLOF to MCContext where  
							
							... 
							
							
							
							the compiler and asmparser now unique to the same sections.  This fixes
rdar://7835021.
llvm-svn: 100807 
							
						 
						
							2010-04-08 20:30:37 +00:00  
				
					
						
							
							
								 
						
							
								2104b8d36e 
								
							 
						 
						
							
							
								
								rename llvm::llvm_report_error -> llvm::report_fatal_error  
							
							... 
							
							
							
							llvm-svn: 100709 
							
						 
						
							2010-04-07 22:58:41 +00:00  
				
					
						
							
							
								 
						
							
								9897043928 
								
							 
						 
						
							
							
								
								Rip out the 'is temporary' nonsense from the MCContext interface to  
							
							... 
							
							
							
							create symbols.  It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902 
							
						 
						
							2010-03-30 18:10:53 +00:00  
				
					
						
							
							
								 
						
							
								bbcaa40227 
								
							 
						 
						
							
							
								
								Now that the default for Darwin platforms is to place the LSDA into the TEXT  
							
							... 
							
							
							
							section, remove the target-specific code that performs this.
llvm-svn: 98580 
							
						 
						
							2010-03-15 21:09:38 +00:00  
				
					
						
							
							
								 
						
							
								2ea586b8f5 
								
							 
						 
						
							
							
								
								use Mang->getSymbol() more.  
							
							... 
							
							
							
							llvm-svn: 98577 
							
						 
						
							2010-03-15 20:37:38 +00:00  
				
					
						
							
							
								 
						
							
								632eb65cd2 
								
							 
						 
						
							
							
								
								fix MCSectionELF to not leak memory, just like I did for MCSymbol.  
							
							... 
							
							
							
							MCSectionMachO is already fine (yay for fixed size arrays?),
MCSectionCOFF still leaks.
llvm-svn: 98537 
							
						 
						
							2010-03-15 06:23:52 +00:00  
				
					
						
							
							
								 
						
							
								03627cb12c 
								
							 
						 
						
							
							
								
								fix a fixme in TargetLoweringObjectFile::getExprForDwarfReference  
							
							... 
							
							
							
							where we used ot create an MCSymbol for ".".  Now emit an assembler
temporary label and reference it instead of "." textually.
rdar://7739457
llvm-svn: 98292 
							
						 
						
							2010-03-11 21:55:20 +00:00  
				
					
						
							
							
								 
						
							
								2562356992 
								
							 
						 
						
							
							
								
								rename getSymbolForDwarf* to getExprForDwarf* since it returns  
							
							... 
							
							
							
							an MCExpr and not an MCSymbol.  Change it to take an MCStreamer,
which is currently unused.
No functionality change.
llvm-svn: 98278 
							
						 
						
							2010-03-11 19:41:58 +00:00  
				
					
						
							
							
								 
						
							
								a810bdfcca 
								
							 
						 
						
							
							
								
								Add a bit along with the MCSymbols stored in the MachineModuleInfo maps that  
							
							... 
							
							
							
							indicates that an MCSymbol is external or not. (It's true if it's external.)
This will be used to specify the correct information to add to non-lazy
pointers. That will be explained further when this bit is used.
llvm-svn: 98199 
							
						 
						
							2010-03-10 22:34:10 +00:00  
				
					
						
							
							
								 
						
							
								71c30c164f 
								
							 
						 
						
							
							
								
								move three lowering hooks from MAI to TLOF and make one of them  
							
							... 
							
							
							
							semantic instead of syntactic.  This completes MCization of
darwin/x86[-64]!
llvm-svn: 98145 
							
						 
						
							2010-03-10 07:20:42 +00:00  
				
					
						
							
							
								 
						
							
								ac2361a9b0 
								
							 
						 
						
							
							
								
								set the temporary bit on MCSymbols correctly.  
							
							... 
							
							
							
							llvm-svn: 98124 
							
						 
						
							2010-03-10 02:25:11 +00:00  
				
					
						
							
							
								 
						
							
								ef2f8047fa 
								
							 
						 
						
							
							
								
								tidy up  
							
							... 
							
							
							
							llvm-svn: 97895 
							
						 
						
							2010-03-07 04:28:09 +00:00  
				
					
						
							
							
								 
						
							
								8545afe0b0 
								
							 
						 
						
							
							
								
								Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. This  
							
							... 
							
							
							
							is a workaround for <rdar://problem/7672401/> (which I filed).
This let's us build Wine on Darwin, and it gets the Qt build there a little bit
further (so Doug says).
llvm-svn: 97845 
							
						 
						
							2010-03-05 22:28:45 +00:00  
				
					
						
							
							
								 
						
							
								182eea8f81 
								
							 
						 
						
							
							
								
								Revert...  
							
							... 
							
							
							
							--- Reverse-merging r97592 into '.':
U    lib/CodeGen/TargetLoweringObjectFileImpl.cpp
llvm-svn: 97657 
							
						 
						
							2010-03-03 19:31:05 +00:00  
				
					
						
							
							
								 
						
							
								ce153affa3 
								
							 
						 
						
							
							
								
								Okay. One last attempt:  
							
							... 
							
							
							
							Place the LSDA into the TEXT section on Mach-O. This saves space.
llvm-svn: 97592 
							
						 
						
							2010-03-02 21:50:35 +00:00  
				
					
						
							
							
								 
						
							
								e7179e8b76 
								
							 
						 
						
							
							
								
								The TType is always absptr on Mach-O...at least for now.  
							
							... 
							
							
							
							llvm-svn: 97295 
							
						 
						
							2010-02-27 01:05:51 +00:00  
				
					
						
							
							
								 
						
							
								31a9212b0b 
								
							 
						 
						
							
							
								
								It turned out that we failed to emit proper symbol stubs on non-x86/darwin for ages (we emitted a reference to a stub, but no stub was emitted). The code inside x86-32/macho target objfile lowering should actually be the generic one - move it there.  
							
							... 
							
							
							
							This (I really, really hope) should fix EH issues on ppc/darwin
and arm/darwin.
llvm-svn: 96755 
							
						 
						
							2010-02-21 20:28:15 +00:00  
				
					
						
							
							
								 
						
							
								336c0a1c87 
								
							 
						 
						
							
							
								
								Revert Anton's most recent EH patch (r96637), since it breaks a lot of  
							
							... 
							
							
							
							ARM and Thumb tests.
llvm-svn: 96680 
							
						 
						
							2010-02-19 17:10:59 +00:00  
				
					
						
							
							
								 
						
							
								9baeb02000 
								
							 
						 
						
							
							
								
								Use the same encoding for EH stuff uniformly on all MachO targets.  
							
							... 
							
							
							
							This hopefulyl should unbreak EH on PPC/Darwin.
llvm-svn: 96637 
							
						 
						
							2010-02-19 00:29:36 +00:00  
				
					
						
							
							
								 
						
							
								ab663a0bfe 
								
							 
						 
						
							
							
								
								Move TLOF implementations to libCodegen to resolve layering violation.  
							
							... 
							
							
							
							llvm-svn: 96288 
							
						 
						
							2010-02-15 22:37:53 +00:00