Craig Topper 
							
						 
					 
					
						
						
							
						
						f1d0f7781e 
					 
					
						
						
							
							Prune some includes and forward declarations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153429  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-26 06:58:25 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						00ca888ccc 
					 
					
						
						
							
							Add a hook in MCELFObjectTargetWriter to allow targets to sort relocation  
						
						... 
						
						
						
						entries in the relocation table before they are written out to the file. 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153345  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-23 23:06:45 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						263109d822 
					 
					
						
						
							
							Remove a bunch of unused variable assignments.  
						
						... 
						
						
						
						Found by the clang static analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148541  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-20 14:42:32 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						3963d617b3 
					 
					
						
						
							
							Kill the monstrosity that was ELFObjectWriter.h.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147136  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 03:38:00 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						7bd278019d 
					 
					
						
						
							
							Misc cleanups.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147135  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 03:24:43 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						090445967f 
					 
					
						
						
							
							Move the Mips only bits of the ELF writer to lib/Target/Mips.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 03:03:17 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						4982159b88 
					 
					
						
						
							
							Move the MBlaze ELF writer bits to lib/Target/MBlaze.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147129  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 02:28:24 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f3a86fb03d 
					 
					
						
						
							
							Move PPC bits to lib/Target/PowerPC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 01:57:09 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						bc24985c5f 
					 
					
						
						
							
							Local dynamic TLS model for direct object output. Create the correct TLS MIPS  
						
						... 
						
						
						
						ELF relocations.
Patch by Jack Carter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147118  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 01:05:17 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						69bbda0391 
					 
					
						
						
							
							Move the ARM specific parts of the ELF writer to Target/ARM.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 00:37:50 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						e99183d2ac 
					 
					
						
						
							
							getEFlags is const.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147114  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-22 00:21:50 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						e8526d030f 
					 
					
						
						
							
							Switch from WriteEFlags to getEFlags in preparation for moving it  
						
						... 
						
						
						
						to Target/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147087  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-21 20:09:46 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						edae8e1e4d 
					 
					
						
						
							
							Move the X86 specific bits of the ELF writer to the Target/X86 directory.  
						
						... 
						
						
						
						Other targets will follow shortly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-21 17:30:17 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						dc9a8a378d 
					 
					
						
						
							
							Reduce the exposure of Triple::OSType in the ELF object writer. This will  
						
						... 
						
						
						
						avoid including ADT/Triple.h in many places when the target specific bits are
moved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147059  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-21 17:00:36 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						c677e790e5 
					 
					
						
						
							
							Small refactoring so that RelocNeedsGOT can stay in the target independent  
						
						... 
						
						
						
						side when the target specific bits are moved to the Target directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147053  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-21 14:26:29 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						f3315cf65f 
					 
					
						
						
							
							Relocation against a symbol, instead of against section. We had some extreme  
						
						... 
						
						
						
						test cases where there were a lot of relocations applied relative to a large
rodata section. Gas would create a symbol for each of these whereas we would
be relative to the beginning of the rodata section. This change mimics what
gas does.
Patch by Jack Carter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146468  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-13 02:27:40 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						3c68acd202 
					 
					
						
						
							
							Handle reloc_signed_4byte in here. Not doing so was a regression from my  
						
						... 
						
						
						
						previous commit. It is strange that we see it in 32 bits. We already
have a fixme about it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146273  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-09 19:57:29 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						1d5969d839 
					 
					
						
						
							
							Handle the case of the magical _GLOBAL_OFFSET_TABLE_ showing up in a  
						
						... 
						
						
						
						symbol difference. This matches gas behavior and fixes PR11513.
We still don't handle _GLOBAL_OFFSET_TABLE_ in data sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146238  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-09 03:03:58 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						e3d3572e28 
					 
					
						
						
							
							Add a few moreLocal/Global R_MIPS_GOT related fixups and  
						
						... 
						
						
						
						make the addend fixup code a bit more generic
Patch by Jack Carter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145998  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-07 00:28:57 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						a00a62acd0 
					 
					
						
						
							
							Explicit symbols for gnu mimicing relocations. Patch by Jack Carter  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145911  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-06 03:34:42 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						f68a26b5d8 
					 
					
						
						
							
							Tidy up. Hard tabs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145878  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-06 00:13:09 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						f77d5b14af 
					 
					
						
						
							
							Switch MCAssembler to method names starting w/ lower-case.  
						
						... 
						
						
						
						per http://llvm.org/docs/CodingStandards.html#ll_naming 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145873  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-06 00:03:48 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						84bfc2f090 
					 
					
						
						
							
							This patch addresses gp relative fixups/relocations for jump tables.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145112  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-23 22:18:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						946227d64a 
					 
					
						
						
							
							Tidy up. 80 columns.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144649  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-15 16:46:22 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						a0dd4cbc87 
					 
					
						
						
							
							Add mips ELF relocation types. Patch by Jack Carter!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-04 22:24:36 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						7aabcb1fc0 
					 
					
						
						
							
							Also create a shndx even if there are no symbols. This lets us test  
						
						... 
						
						
						
						.symtab_shndx reading and writing together, and finally we have a testcase for
r141440.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141641  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-11 03:54:50 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						d2fdb4a285 
					 
					
						
						
							
							Don't emit the symbol table entry for the .symtab_shndx section either.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-07 23:29:53 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						4a8d43e9a7 
					 
					
						
						
							
							Remove extraneous curlies. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141439  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-07 23:28:32 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						b3429d34b6 
					 
					
						
						
							
							Don't emit a shstrtabindex in the reserved range. Spotted by inspection and  
						
						... 
						
						
						
						patch by Cary Coutant!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141413  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-07 20:58:24 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						aaae3f6bc1 
					 
					
						
						
							
							Clarify/fix typo. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-07 20:56:23 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						291512f96f 
					 
					
						
						
							
							Add definition of MipsELFObjectWriter.  
						
						... 
						
						
						
						Patch by Reed Kotler at Mips Technologies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140891  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-09-30 21:55:40 +00:00 
						 
				 
			
				
					
						
							
							
								Roman Divacky 
							
						 
					 
					
						
						
							
						
						2a66cea1b8 
					 
					
						
						
							
							Introduce adjustFixupOffset that adjusts the fixup offset of a relocation.  
						
						... 
						
						
						
						This is meant to be overriden by backends. Implement an override on PowerPC
which adjusts the offset by 2 for ha16/lo16 relocation kinds. This removes
a commented out hack and enables hello world to be compiled on PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136905  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-04 19:08:19 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						bbf9c4a14e 
					 
					
						
						
							
							Add an assert to check that the Addend fits the file format.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136868  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-04 13:05:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jason W Kim 
							
						 
					 
					
						
						
							
						
						e651983e71 
					 
					
						
						
							
							Fix  http://llvm.org/bugs/show_bug.cgi?id=10568  
						
						... 
						
						
						
						Move the reloc size assert into AsmBackend - where it is more apropos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136855  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-04 00:38:45 +00:00 
						 
				 
			
				
					
						
							
							
								Roman Divacky 
							
						 
					 
					
						
						
							
						
						c9c0cc1e46 
					 
					
						
						
							
							Comment out the PPC relocation offset adjustment. It must be done differently.  
						
						... 
						
						
						
						This unbreaks some tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136692  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-02 16:15:32 +00:00 
						 
				 
			
				
					
						
							
							
								Roman Divacky 
							
						 
					 
					
						
						
							
						
						2c0d69fad0 
					 
					
						
						
							
							Sketch out PowerPC ELF writer. This is enough to get clang -integrated-as  
						
						... 
						
						
						
						to compile a working hello world on FreeBSD/PPC32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136689  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-02 15:51:38 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						78c10eeaa5 
					 
					
						
						
							
							Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to createMCAsmBackend.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136010  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-25 23:24:55 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						8c3fee5903 
					 
					
						
						
							
							Refactor X86 target to separate MC code from Target code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135930  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-25 18:43:53 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a7cfc08ebe 
					 
					
						
						
							
							Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-23 00:45:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						be74029f44 
					 
					
						
						
							
							Sink ARM mc routines into MCTargetDesc.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135825  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-23 00:00:19 +00:00 
						 
				 
			
				
					
						
							
							
								Jason W Kim 
							
						 
					 
					
						
						
							
						
						bebd44a95a 
					 
					
						
						
							
							Remove an uneeded switch - Turns out reloc results are identical w/o the switch. (face+palm)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132790  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-09 19:13:45 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						378e0ecf24 
					 
					
						
						
							
							Produce an undefined reference to _GLOBAL_OFFSET_TABLE_ if we have a  
						
						... 
						
						
						
						VK_GOTOFF reloc. This matches as' behavior, but it is not clear why the linker
might need this, so I added a FIXME.
I could test this by duplicating test/MC/ELF/got.s, but it doesn't look
worthwhile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132655  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-05 01:20:06 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						e0b87032f5 
					 
					
						
						
							
							Add support for @GOTPTOFF in i386 mode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132643  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-04 17:38:07 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						298c8e12ea 
					 
					
						
						
							
							fixes target address tBL and tBLX and sets relocation type  
						
						... 
						
						
						
						of tBL/tBLX to R_ARM_THM_CALL (ARM ELF 4.7.1.6)
Patch by koan-sin tan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131748  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-20 20:01:01 +00:00 
						 
				 
			
				
					
						
							
							
								Jason W Kim 
							
						 
					 
					
						
						
							
						
						97c07dac7f 
					 
					
						
						
							
							Add a FIXME reminder to remove ForceARMElfPIC switch.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131411  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-16 16:35:21 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						6469540adf 
					 
					
						
						
							
							sets bit 0 of the function address of thumb function in .symtab  
						
						... 
						
						
						
						("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)
Patch by Koan-Sin Tan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131406  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-16 16:17:21 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Beaumont-Gay 
							
						 
					 
					
						
						
							
						
						6dcd413fbb 
					 
					
						
						
							
							Remove an unused variable and move a couple others inside DEBUG.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131208  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-11 23:34:51 +00:00 
						 
				 
			
				
					
						
							
							
								Jason W Kim 
							
						 
					 
					
						
						
							
						
						e964d1192a 
					 
					
						
						
							
							Address the last bit of relocation flag related divergence betweeen  
						
						... 
						
						
						
						LLVM and binutils.
With this patch, there are no functional differences between the .o
produced directly from LLVM versus the .s to .o via GNU as, for relocation tags
at least, for both PIC and non-PIC modes.
Because some non-PIC reloc tags are used (legally) on PIC, so IsPCRel flag is
necessary but not sufficient to determine whether the overall codegen mode is
PIC or not. Why is this necessary? There is an incompatibility of how relocs
are emitted in the .rodata section.  Binutils PIC likes to emit certain relocs
as section relative offsets.  Non-PIC does not do this.
So I added a hidden switch on the ELFObjectwriter "-arm-elf-force-pic" which
forces the objectwriter to pretend that all relocs are for PIC mode.
Todo: Activate ForceARMElfPIC to true if -relocation-model=pic is selected
on llc.
Todo: There are probably more issues for PIC mode on ARM/MC/ELF...
Todo: Existing tests in MC/ARM/elf-reloc*.ll need to be converted over to .s 
tests as well as expanded to cover the gamut.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131205  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-11 22:53:06 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						debd7e4e8b 
					 
					
						
						
							
							Simplify the handling of pcrel relocations on ELF. Now we do the right thing  
						
						... 
						
						
						
						for all symbol differences and can drop the old EmitPCRelSymbolValue
method.
This also make getExprForFDESymbol on ELF equal to the one on MachO, and it
can be made non-virtual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130634  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-01 03:50:49 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						d5321da8d2 
					 
					
						
						
							
							Micro optimization and improved similarity with gas' output:  
						
						... 
						
						
						
						When two section names share a suffix, reuse the entry in shstrtab.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-07 23:21:52 +00:00