Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						40ebe2473a 
					 
					
						
						
							
							MC/Mach-O: Remove non-sensical comment, and add a missing AddValueSymbols call.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96809  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-22 22:08:57 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f6346769b3 
					 
					
						
						
							
							MC/Mach-O: Start emitting fixups/relocations for instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96095  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-13 09:29:02 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						2be2fd0730 
					 
					
						
						
							
							MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96094  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-13 09:28:54 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						45f4874611 
					 
					
						
						
							
							MC/Mach-O: Implement EmitValue using data fragments + fixups instead of fill fragment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-13 09:28:22 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						73c557458c 
					 
					
						
						
							
							MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95708  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-09 22:59:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5d917a8952 
					 
					
						
						
							
							add scaffolding for target-specific MCExprs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-08 19:41:07 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e1ec617c6a 
					 
					
						
						
							
							MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95135  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-02 21:44:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						718fb59801 
					 
					
						
						
							
							mcstreamerize gprel32 emission.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94452  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-25 21:28:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a6594fc715 
					 
					
						
						
							
							mcstreamerize .file and .file.  This also fixes an issue where the  
						
						... 
						
						
						
						normal form of .file would fail if the filename had a weird character
in it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-25 18:58:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ed0ab15170 
					 
					
						
						
							
							add symbol attribute support for the ELF .type directive.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94435  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-25 18:30:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						99328add83 
					 
					
						
						
							
							emit the .size directive for global variables on ELF through  
						
						... 
						
						
						
						mcstreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-25 07:52:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9eb158d5b4 
					 
					
						
						
							
							mcize lcomm, simplify .comm, extend both to support 64-bit sizes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-23 07:47:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5ad93a10a 
					 
					
						
						
							
							move the various directive enums out of the MCStreamer class  
						
						... 
						
						
						
						into a new MCDirectives.h file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-23 06:39:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3a9be0ee36 
					 
					
						
						
							
							mcstreamerize .no_dead_strip and .reference for static ctors/dtors.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94290  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-23 05:51:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						aaec205b87 
					 
					
						
						
							
							Generalize mcasmstreamer data emission APIs to take an address space  
						
						... 
						
						
						
						identifier.  There is no way to work around it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-19 19:46:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						6f24a0a603 
					 
					
						
						
							
							Add a note for the macho streamer and remove a used of the mangler from the soon to be defunct machowriter pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-17 03:49:01 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						2928c83b01 
					 
					
						
						
							
							Pass StringRef by value.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-06 10:58:06 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						a4d8667c87 
					 
					
						
						
							
							MC: Set symbol values in MachO MCStreamer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84236  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-16 01:58:23 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						1253a6fa3b 
					 
					
						
						
							
							MC: Switch assembler API to using MCExpr instead of MCValue.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84234  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-16 01:58:03 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e00b011e6a 
					 
					
						
						
							
							MC: Remove unneeded context argument to MCExpr::Evaluate*.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84233  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-16 01:57:52 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						821e3334ed 
					 
					
						
						
							
							llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80578  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 08:09:28 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e2ace509fc 
					 
					
						
						
							
							llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80577  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 08:09:09 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						8c2eebe407 
					 
					
						
						
							
							llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.  
						
						... 
						
						
						
						Also, use MCInst::print instead of custom code in MCAsmPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 08:08:38 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						cb579b3338 
					 
					
						
						
							
							llvm-mc: Make MCSymbolData symbol member const.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 08:08:06 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						a03a368acc 
					 
					
						
						
							
							llvm-mc: Add MCContext to MCAssembler.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 08:07:55 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						7092c7e1dc 
					 
					
						
						
							
							llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.  
						
						... 
						
						
						
						- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-30 06:17:16 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						8c3eaf46a1 
					 
					
						
						
							
							llvm-mc: .lsym is more unsupported than unimplemented, pending a use case appearing.  
						
						... 
						
						
						
						Also, all one of the file level flags are implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80352  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 07:08:47 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						8f4d146c34 
					 
					
						
						
							
							llvm-mc: Support .comm emission.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80351  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 07:08:35 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						d5a8e98ef6 
					 
					
						
						
							
							llvm-mc: Support .zerofill emission.  
						
						... 
						
						
						
						- I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80347  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 05:49:21 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0f5fa69551 
					 
					
						
						
							
							llvm-mc: Factor getSectionData out of SwitchSection.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80344  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 05:48:54 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e6cdbf2f92 
					 
					
						
						
							
							llvm-mc: Emit .lcomm as .zerofill.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80343  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 05:48:46 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						8751b94ffb 
					 
					
						
						
							
							llvm-mc: Add const to EmitZeroFill section argument.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80341  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 05:48:22 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						4fac74950a 
					 
					
						
						
							
							llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.  
						
						... 
						
						
						
						- No relocations yet, of course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80235  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-27 08:17:51 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						6009db486e 
					 
					
						
						
							
							llvm-mc/Mach-O: Set .subsections_via_symbols flag properly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80144  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-26 21:22:22 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						a421de11df 
					 
					
						
						
							
							llvm-mc: Add symbol entries for undefined symbols used in .fill and .org.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-26 13:57:37 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						5e835967dd 
					 
					
						
						
							
							llvm-mc/Mach-O: Set addresses for symbols.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80065  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-26 02:48:04 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						ad7c3d5593 
					 
					
						
						
							
							llvm-mc: Improve indirect symbol support (add the indirect index table).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80059  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-26 00:18:21 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0c7761b3f9 
					 
					
						
						
							
							llvm-mc/Mach-O: Preliminary support for indirect symbols.  
						
						... 
						
						
						
						- The indirect table itself isn't being filled in yet.
 - This isn't factored properly and is rather FIXMEd, but at the moment I'm more
   focused on figuring out what it needs to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79910  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-24 11:56:58 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						6aff2fbd56 
					 
					
						
						
							
							llvm-mc/Mach-O: Support symbol attributes.  
						
						... 
						
						
						
						- This is mostly complete, the main thing missing is .indirect_symbol support
   (which would be straight-forward, except that the way it is implemented in
   'as' makes getting an exact .o match interesting).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79899  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-24 08:40:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cda7f78233 
					 
					
						
						
							
							prune some redundant #includes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79746  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-22 19:35:08 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						3edd9bb7a3 
					 
					
						
						
							
							llvm-mc/Mach-O: Improve symbol table support:  
						
						... 
						
						
						
						- Honor .globl.
 - Set symbol type and section correctly ('nm' now works), and order symbols
   appropriately.
 - Take care to the string table so that the .o matches 'as' exactly (for ease
   of testing).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-22 11:41:10 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f3d2ef0c97 
					 
					
						
						
							
							llvm-mc/Mach-O: Sketch symbol table support.  
						
						... 
						
						
						
						- The only .s syntax this honors right now is emitting labels, and some parts
   of the symbol table generation are wrong or faked.
 - This is enough to get nm to report such symbols... incorrectly, but still.
Also, fixed byte emission to extend the previous fragment if possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79739  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-22 10:13:24 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						8906ff1b9d 
					 
					
						
						
							
							llvm-mc: Clean up some handling of symbol/section association to be more correct  
						
						... 
						
						
						
						(external was really undefined and there wasn't an explicit representation for
absolute symbols).
 - This still needs some cleanup to how the absolute "pseudo" section is dealt
   with, but I haven't figured out the nicest approach yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79733  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-22 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						d6f761e0eb 
					 
					
						
						
							
							llvm-mc/Mach-O: Support .o emission for .org and .align.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79684  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-21 23:07:38 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0705fbf52f 
					 
					
						
						
							
							llvm-mc/Mach-O: Support byte and fill value emission.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79652  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-21 18:29:01 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						fb4a6b3976 
					 
					
						
						
							
							llvm-mc: Start MCAssembler and MCMachOStreamer.  
						
						... 
						
						
						
						- Together these form the (Mach-O) back end of the assembler.
 - MCAssembler is the actual assembler backend, which is designed to have a
   reasonable API. This will eventually grow to support multiple object file
   implementations, but for now its Mach-O/i386 only.
 - MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API,
   e.g. converting the various directives into fragments, managing state like
   the current section, and so on.
 - llvm-mc will use the new backend via '-filetype=obj', which may eventually
   be, but is not yet, since I hear that people like assemblers which actually
   assemble.
 - The only thing that works at the moment is changing sections. For the time
   being I have a Python Mach-O dumping tool in test/scripts so this stuff can
   be easily tested, eventually I expect to replace this with a real LLVM tool.
 - More doxyments to come.
I assume that since this stuff doesn't touch any of the things which are part of
2.6 that it is ok to put this in not so long before the freeze, but if someone
objects let me know, I can pull it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79612  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-21 09:11:24 +00:00