Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								78c9f78fc9 
								
							 
						 
						
							
							
								
								Jörg Sonnenberger noticed that we were missing this test.  
							
							 
							
							... 
							
							
							
							llvm-svn: 124139 
							
						 
						
							2011-01-24 19:40:38 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								689939e648 
								
							 
						 
						
							
							
								
								Handle strings in section names the same way as gas:  
							
							 
							
							... 
							
							
							
							* If the name is a single string, we remove the quotes
* If the name starts without a quote, we include any quotes in the name
llvm-svn: 124127 
							
						 
						
							2011-01-24 18:02:54 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b3eca9bb71 
								
							 
						 
						
							
							
								
								Add support for the --noexecstack option.  
							
							 
							
							... 
							
							
							
							llvm-svn: 124077 
							
						 
						
							2011-01-23 17:55:27 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8bac423ddb 
								
							 
						 
						
							
							
								
								Add support for lowercase variants.  
							
							 
							
							... 
							
							
							
							llvm-svn: 124071 
							
						 
						
							2011-01-23 16:11:25 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								ec517cdf24 
								
							 
						 
						
							
							
								
								Update tests.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123591 
							
						 
						
							2011-01-16 18:02:57 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								f02ca16ba7 
								
							 
						 
						
							
							
								
								Convert MC tests to .s so codegen changes won't break them.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122786 
							
						 
						
							2011-01-03 23:47:14 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3686473578 
								
							 
						 
						
							
							
								
								Fix PR8878.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122658 
							
						 
						
							2011-01-01 19:05:35 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								46a5b05207 
								
							 
						 
						
							
							
								
								Correctly encode pcrel|indirect.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122624 
							
						 
						
							2010-12-29 04:31:26 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								563301dfdb 
								
							 
						 
						
							
							
								
								Fix bug when trying to output uint16_t or uint32_t.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122615 
							
						 
						
							2010-12-29 02:30:49 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								290d71671e 
								
							 
						 
						
							
							
								
								Implement cfi_def_cfa. Also don't convert to dwarf reg numbers twice. Looks  
							
							 
							
							... 
							
							
							
							like 6 is a fixed point of that and so the previous tests were OK :-)
llvm-svn: 122614 
							
						 
						
							2010-12-29 01:42:56 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								426e68f793 
								
							 
						 
						
							
							
								
								Implement cfi_def_cfa_register.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122612 
							
						 
						
							2010-12-29 00:26:06 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								86d347dd31 
								
							 
						 
						
							
							
								
								Initial .cfi_offset implementation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122611 
							
						 
						
							2010-12-29 00:09:59 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								6bbfb6c06c 
								
							 
						 
						
							
							
								
								Don't produce a "DW_CFA_advance_loc 0".  
							
							 
							
							... 
							
							
							
							llvm-svn: 122609 
							
						 
						
							2010-12-28 23:38:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								85d91982ca 
								
							 
						 
						
							
							
								
								Implement .cfi_remember_state and .cfi_restore_state.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122602 
							
						 
						
							2010-12-28 18:36:23 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								736a35d9ab 
								
							 
						 
						
							
							
								
								Relax address updates in the eh_frame section.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122591 
							
						 
						
							2010-12-28 05:39:27 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								a75b87b55a 
								
							 
						 
						
							
							
								
								Start adding basic support for emitting the call frame instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122590 
							
						 
						
							2010-12-28 04:15:37 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1de2dd0e5e 
								
							 
						 
						
							
							
								
								Add support for .cfi_lsda.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122584 
							
						 
						
							2010-12-27 15:56:22 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8fc59a682f 
								
							 
						 
						
							
							
								
								Handle reloc_riprel_4byte_movq_load. Should make the bots happy.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122579 
							
						 
						
							2010-12-27 02:03:24 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2ac8355ecd 
								
							 
						 
						
							
							
								
								Add support for the same encodings of the personality function that gnu as  
							
							 
							
							... 
							
							
							
							supports.
llvm-svn: 122577 
							
						 
						
							2010-12-27 00:36:05 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9ae2d05d45 
								
							 
						 
						
							
							
								
								Add support for @note. Patch by Jörg Sonnenberger.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122568 
							
						 
						
							2010-12-26 21:30:59 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9141b611ad 
								
							 
						 
						
							
							
								
								Add basic support for .cfi_personality.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122566 
							
						 
						
							2010-12-26 20:20:31 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								73c0ae77ca 
								
							 
						 
						
							
							
								
								Simplify the handling of .size expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122404 
							
						 
						
							2010-12-22 16:03:00 +00:00  
						
					 
				
					
						
							
							
								 
								Roman Divacky
							
						 
						
							 
							
							
							
							
								
							
							
								55184ddd35 
								
							 
						 
						
							
							
								
								Set the value of absolute symbols.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122268 
							
						 
						
							2010-12-20 21:14:39 +00:00  
						
					 
				
					
						
							
							
								 
								Roman Divacky
							
						 
						
							 
							
							
							
							
								
							
							
								e15f591de4 
								
							 
						 
						
							
							
								
								Print all 64bits for st_value and st_size. Adjust tests accordingly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122263 
							
						 
						
							2010-12-20 20:49:43 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2140ff508f 
								
							 
						 
						
							
							
								
								Add a test that shows that we produce no fixups when computing the difference  
							
							 
							
							... 
							
							
							
							of two symbols in the same fragment.
llvm-svn: 122145 
							
						 
						
							2010-12-18 05:07:45 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								af5ab7ad26 
								
							 
						 
						
							
							
								
								Test for push being relaxed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122124 
							
						 
						
							2010-12-18 01:16:59 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								32c74ea3ab 
								
							 
						 
						
							
							
								
								"Fix" FDE alignment to match what gas does.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122006 
							
						 
						
							2010-12-17 00:28:02 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								654cc4a81c 
								
							 
						 
						
							
							
								
								Make pushq produce signed relocations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122005 
							
						 
						
							2010-12-16 22:50:01 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0a017a6db2 
								
							 
						 
						
							
							
								
								Fixed version of 121434 with no new memory leaks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121471 
							
						 
						
							2010-12-10 07:39:47 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								a945a34c73 
								
							 
						 
						
							
							
								
								Revert my previous patch to make the valgrind bots happy.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121461 
							
						 
						
							2010-12-10 04:01:09 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1048e75fb9 
								
							 
						 
						
							
							
								
								Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoid  
							
							 
							
							... 
							
							
							
							doing that if the target is darwin10 or newer.
This fixes
*) Direct object emission was producing objects without the workaround on
   darwin9.
*) Assembly printing was producing objects with the workaround on linux.
llvm-svn: 120866 
							
						 
						
							2010-12-04 00:31:13 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								e6840ef4b3 
								
							 
						 
						
							
							
								
								Fix some broken CHECK lines.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120332 
							
						 
						
							2010-11-29 22:34:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f8e127eaf6 
								
							 
						 
						
							
							
								
								Factor some code to parseSectionFlags and fix the default type of a section.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120145 
							
						 
						
							2010-11-25 15:32:56 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9f75d5df0b 
								
							 
						 
						
							
							
								
								Behave a bit more like gnu as and use the symbol (instead of the section)  
							
							 
							
							... 
							
							
							
							for any relocation to a symbol defined in a tls section.
llvm-svn: 120121 
							
						 
						
							2010-11-24 21:57:39 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								708ac4d6ad 
								
							 
						 
						
							
							
								
								Relocate with the symbol if the relocation is of kind NTPOFF.  
							
							 
							
							... 
							
							
							
							Patch by David Meyer, I added the test.
llvm-svn: 120104 
							
						 
						
							2010-11-24 19:23:50 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								e98d483b71 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 120100 
							
						 
						
							2010-11-24 18:51:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								4e70ac7b68 
								
							 
						 
						
							
							
								
								If a symbol is used as tls, mark it as tls even if not declare as so. Probably  
							
							 
							
							... 
							
							
							
							fixes PR8659.
llvm-svn: 120076 
							
						 
						
							2010-11-24 02:19:40 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3c7cab1402 
								
							 
						 
						
							
							
								
								Produce a relocation for pcrel absolute values. Based on a patch by David Meyer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120006 
							
						 
						
							2010-11-23 07:20:12 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								26cb15a549 
								
							 
						 
						
							
							
								
								Handle PCRel relocations with absolute values. Fixes PR8656.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119917 
							
						 
						
							2010-11-21 00:48:25 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b67912d5cd 
								
							 
						 
						
							
							
								
								Add support for .int.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119512 
							
						 
						
							2010-11-17 16:24:40 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								5c996894bd 
								
							 
						 
						
							
							
								
								Add support for .2byte, .4byte and .8byte.  
							
							 
							
							... 
							
							
							
							Fixes PR8631.
llvm-svn: 119511 
							
						 
						
							2010-11-17 16:15:42 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								7d19efd6ff 
								
							 
						 
						
							
							
								
								A bit more of gnu as compatibility when handling relocations with aliases.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119328 
							
						 
						
							2010-11-16 04:11:46 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8c3039b67b 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 119152 
							
						 
						
							2010-11-15 16:33:49 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								46c79ef113 
								
							 
						 
						
							
							
								
								Fix PR8565.  
							
							 
							
							... 
							
							
							
							This moves most of the isUsed logic to the MCSymbol itself. With this we
get a bit more relaxed about allowing definitions after uses: uses that
don't evaluate their argument immediately (jmp foo) are accepted.
ddunbar, this was the smallest compromise I could think of that lets us
accept gcc (and clang!) assembly.
llvm-svn: 119144 
							
						 
						
							2010-11-15 14:40:36 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								240028d11d 
								
							 
						 
						
							
							
								
								Move the logic to decide with which symbol we produce a relocation (if any) to  
							
							 
							
							... 
							
							
							
							a central location. This also makes us a bit more compatible with gas.
llvm-svn: 119094 
							
						 
						
							2010-11-14 23:53:26 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								a7d0bed336 
								
							 
						 
						
							
							
								
								Fix another case of a .comm directive without a corresponding .type  
							
							 
							
							... 
							
							
							
							directive.
llvm-svn: 119073 
							
						 
						
							2010-11-14 21:11:16 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b05ef7377a 
								
							 
						 
						
							
							
								
								Fix the type of a symbol created with .comm and no corresponding .type.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119060 
							
						 
						
							2010-11-14 19:40:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								7d0ba3464e 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 119026 
							
						 
						
							2010-11-14 04:17:37 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								4bcf94c75a 
								
							 
						 
						
							
							
								
								Parse and record the gnu_unique_object type.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118980 
							
						 
						
							2010-11-13 04:51:02 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1d37f35eea 
								
							 
						 
						
							
							
								
								Fix the encoding of negative line deltas.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118962 
							
						 
						
							2010-11-13 01:06:27 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								de990b270d 
								
							 
						 
						
							
							
								
								gnu as support both % and @ before types, do the same.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118893 
							
						 
						
							2010-11-12 15:47:08 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								84d031870c 
								
							 
						 
						
							
							
								
								Mark labels declared in tls sections as STT_TLS. This matches the behavior of  
							
							 
							
							... 
							
							
							
							gas.
llvm-svn: 118818 
							
						 
						
							2010-11-11 19:04:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								a3e9a2298d 
								
							 
						 
						
							
							
								
								Initial comdat implementation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118805 
							
						 
						
							2010-11-11 18:13:52 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fb6540c112 
								
							 
						 
						
							
							
								
								Make AliasedSymbol able to handle MCTargetExpr. They can get here if  
							
							 
							
							... 
							
							
							
							a weakref is used with a VariantKind.
llvm-svn: 118798 
							
						 
						
							2010-11-11 17:24:43 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fa7b55754c 
								
							 
						 
						
							
							
								
								Fix the symbol index of weak references. Also make RecordRelocation a bit  
							
							 
							
							... 
							
							
							
							easier to read by having const references to the symbol, aliased symbol and
renamed symbol.
llvm-svn: 118793 
							
						 
						
							2010-11-11 16:48:11 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9d17a3194e 
								
							 
						 
						
							
							
								
								Set default flags for .rodata.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118395 
							
						 
						
							2010-11-08 02:47:59 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								5665a93bc5 
								
							 
						 
						
							
							
								
								Relax dwarf line fragments. This fixes a crash in the included testcase.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118365 
							
						 
						
							2010-11-07 02:07:12 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								5e874982f2 
								
							 
						 
						
							
							
								
								Add support for expressions in .sleb/.uleb directives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118023 
							
						 
						
							2010-11-02 17:22:24 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								55ebc962ab 
								
							 
						 
						
							
							
								
								Fix test.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117932 
							
						 
						
							2010-11-01 17:10:53 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								13ddd6d410 
								
							 
						 
						
							
							
								
								Write the line info to .debug_line.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117930 
							
						 
						
							2010-11-01 17:07:14 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1614597873 
								
							 
						 
						
							
							
								
								Implement .weakref.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117911 
							
						 
						
							2010-11-01 14:28:48 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								45834a0065 
								
							 
						 
						
							
							
								
								Be more strict on when we produce an undefined reference. In gas a file with  
							
							 
							
							... 
							
							
							
							just
.type   foo,@object
will produce an undefined reference to foo. On the other hand, a file with
just
.weakref bar, foo
will not. It is somewhat hard to support both in MC since both statements
should create the symbols. It should be possible if we really need to by
adding to the flags, but hopefully that is not necessary.
With this patch we do not produce a undefined reference in any of those cases.
The assembly file needs an actual use for the undefined reference to be
present.
This is in preparation for a patch implementing .weakref.
llvm-svn: 117735 
							
						 
						
							2010-10-29 23:09:31 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8aefb66376 
								
							 
						 
						
							
							
								
								Improvements to .section parsing:  
							
							 
							
							... 
							
							
							
							* If we have a M or a G, reject sections without the type
* Only parse the flag specific arguments if we have M or G
* Parse the corresponding arguments for M and G
We ignore the G arguments and flag for now.
llvm-svn: 117608 
							
						 
						
							2010-10-28 21:33:33 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3c5a54e4b9 
								
							 
						 
						
							
							
								
								Defined weak symbols should have non-zero value.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117585 
							
						 
						
							2010-10-28 19:39:57 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								29f70afbae 
								
							 
						 
						
							
							
								
								Fix relocations with renamed symbols.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117575 
							
						 
						
							2010-10-28 19:08:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								6cd76e63f8 
								
							 
						 
						
							
							
								
								Aliases defined with .symver should copy the binding of the symbols they alias.  
							
							 
							
							... 
							
							
							
							Move the existing patching for undefined symbols so that all the patching
is done in the same function.
llvm-svn: 117570 
							
						 
						
							2010-10-28 18:33:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								936ba3af28 
								
							 
						 
						
							
							
								
								Implement R_X86_64_DTPOFF32.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117548 
							
						 
						
							2010-10-28 15:11:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2dbec3f762 
								
							 
						 
						
							
							
								
								Implement TLSLD.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117547 
							
						 
						
							2010-10-28 15:02:40 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								e8f08be11c 
								
							 
						 
						
							
							
								
								Implement DTPOFF.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117546 
							
						 
						
							2010-10-28 14:48:59 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								6f23eb380d 
								
							 
						 
						
							
							
								
								Implement TLSLDM.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117544 
							
						 
						
							2010-10-28 14:37:09 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b3b49bbc39 
								
							 
						 
						
							
							
								
								Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117543 
							
						 
						
							2010-10-28 14:22:44 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f8537165bd 
								
							 
						 
						
							
							
								
								Add support for R_386_TLS_GD, R_386_TLS_LE_32, R_386_TLS_IE and R_386_TLS_LE.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117494 
							
						 
						
							2010-10-27 21:23:52 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								24c8b04d5f 
								
							 
						 
						
							
							
								
								Implement R_X86_64_GOTTPOFF, R_X86_64_TLSGD and R_X86_64_TPOFF32.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117481 
							
						 
						
							2010-10-27 20:28:07 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								095fa9e5cc 
								
							 
						 
						
							
							
								
								Set default type and flags for .init and .fini.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117471 
							
						 
						
							2010-10-27 18:45:20 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								26496e6835 
								
							 
						 
						
							
							
								
								Produce an error for an invalid use of .symver.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117462 
							
						 
						
							2010-10-27 17:56:18 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								cc1b168ef6 
								
							 
						 
						
							
							
								
								Symbols defined as the difference of other two end up in the ABS section.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117451 
							
						 
						
							2010-10-27 16:04:30 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								eb0c2c170d 
								
							 
						 
						
							
							
								
								Add support for the .symver directive. This is really ugly, but most of it is  
							
							 
							
							... 
							
							
							
							contained in the ELF object writer.
llvm-svn: 117448 
							
						 
						
							2010-10-27 15:18:17 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								c9fb35e73b 
								
							 
						 
						
							
							
								
								Add support for .ident.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117389 
							
						 
						
							2010-10-26 19:35:47 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								e8ae98817a 
								
							 
						 
						
							
							
								
								Implement some relaxations for arithmetic instructions. The limitation  
							
							 
							
							... 
							
							
							
							on RIP relative relocations looks artificial, but this is a superset of
what we were able to do before.
llvm-svn: 117364 
							
						 
						
							2010-10-26 14:09:12 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8ba86f801d 
								
							 
						 
						
							
							
								
								Do not recurse into symbol refs that have a variant kind. This prevents us  
							
							 
							
							... 
							
							
							
							from losing the variant when producing a relocation on an alias.
llvm-svn: 117037 
							
						 
						
							2010-10-21 18:00:20 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								89f6613e76 
								
							 
						 
						
							
							
								
								Handle _GLOBAL_OFFSET_TABLE_ correctly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116932 
							
						 
						
							2010-10-20 16:46:08 +00:00  
						
					 
				
					
						
							
							
								 
								Jason W Kim
							
						 
						
							 
							
							
							
							
								
							
							
								e8b3711ae9 
								
							 
						 
						
							
							
								
								Fixing r116753 r116756 r116777  
							
							 
							
							... 
							
							
							
							The failures in r116753 r116756 were caused by a python issue -
Python likes to append 'L' suffix to stringified numbers if the number
is larger than a machine int. Unfortunately, this causes a divergence of
behavior between 32 and 64 bit python versions.
I re-crafted elf-dump/common_dump to take care of these issues by:
1. always printing 0x (makes for easy sed/regex)
2. always print fixed length (exactly 2 + numBits/4 digits long)
   by mod ((2^numBits) - 1)
3. left-padded with '0'
There is a residual common routine that is also used by
macho-dump (dataToHex) , so I left the 'section_data' test values alone.
llvm-svn: 116823 
							
						 
						
							2010-10-19 17:39:10 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								eac5e381cc 
								
							 
						 
						
							
							
								
								Speculatively revert 116753 and 116756 to attempt to fix the bots.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116777 
							
						 
						
							2010-10-19 00:19:49 +00:00  
						
					 
				
					
						
							
							
								 
								Jason W Kim
							
						 
						
							 
							
							
							
							
								
							
							
								eae048885d 
								
							 
						 
						
							
							
								
								Changed elf-dump to output hex format by default.  
							
							 
							
							... 
							
							
							
							Also updated tests. 
llvm-svn: 116753 
							
						 
						
							2010-10-18 21:32:41 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fba9f74932 
								
							 
						 
						
							
							
								
								Implement R_386_GOT32.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116744 
							
						 
						
							2010-10-18 20:47:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0a5314fdb3 
								
							 
						 
						
							
							
								
								Relocate with .bss instead of using the symbol. Matches gas behavior.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116741 
							
						 
						
							2010-10-18 20:25:33 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								e3dc9e2ea1 
								
							 
						 
						
							
							
								
								Produce ELF::R_386_GOTPC relocations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116728 
							
						 
						
							2010-10-18 18:36:12 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3521f8467d 
								
							 
						 
						
							
							
								
								Produce a R_386_PLT32 when needed. Moved the default cases of switches to the  
							
							 
							
							... 
							
							
							
							start for consistency.
llvm-svn: 116715 
							
						 
						
							2010-10-18 16:58:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								4464e0858f 
								
							 
						 
						
							
							
								
								Handle GOTOFF correctly on i386.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116711 
							
						 
						
							2010-10-18 16:38:04 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								4262a22225 
								
							 
						 
						
							
							
								
								Add a MCObjectFormat class so that code common to all targets that use a  
							
							 
							
							... 
							
							
							
							single object format can be shared.
This also adds support for
mov zed+(bar-foo), %eax
on ELF and COFF targets.
llvm-svn: 116675 
							
						 
						
							2010-10-16 18:23:53 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fbcf0db7ee 
								
							 
						 
						
							
							
								
								Refactor code a bit and avoid creating unnecessary entries in the string  
							
							 
							
							... 
							
							
							
							map.
llvm-svn: 116579 
							
						 
						
							2010-10-15 15:39:06 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								bee6e9f8e0 
								
							 
						 
						
							
							
								
								Remove some code duplication.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116484 
							
						 
						
							2010-10-14 16:34:44 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								af8b4871a8 
								
							 
						 
						
							
							
								
								Call InitSections in llc and clang so that the binaries produced by them  
							
							 
							
							... 
							
							
							
							are easier to diff with those produced by llvm-mc.
llvm-svn: 116095 
							
						 
						
							2010-10-08 19:37:38 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								5f2d6a5cd9 
								
							 
						 
						
							
							
								
								Get binding and visibility info from the the alias, but Type from the symbol  
							
							 
							
							... 
							
							
							
							being aliased.
llvm-svn: 115836 
							
						 
						
							2010-10-06 21:02:29 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d444577382 
								
							 
						 
						
							
							
								
								If a symbol is global, reloc against it even if it is in a mergeable section.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115817 
							
						 
						
							2010-10-06 19:27:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								83b2a3337f 
								
							 
						 
						
							
							
								
								Make sure weak symbols are listed after the local ones.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115795 
							
						 
						
							2010-10-06 16:47:31 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8f3d2c9058 
								
							 
						 
						
							
							
								
								Correctly handle GOTPCREL relocations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115793 
							
						 
						
							2010-10-06 16:23:36 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d7565c3a06 
								
							 
						 
						
							
							
								
								Use a relocation against the symbol if it is a PLT and the symbol is in another  
							
							 
							
							... 
							
							
							
							section. Common because of linkonce sections.
llvm-svn: 115718 
							
						 
						
							2010-10-05 23:57:26 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0ad137e98e 
								
							 
						 
						
							
							
								
								Implement more alias cases.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115699 
							
						 
						
							2010-10-05 22:26:43 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								c58a37ea51 
								
							 
						 
						
							
							
								
								Don't crash in a strange .size directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115684 
							
						 
						
							2010-10-05 21:02:45 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b91bac6c96 
								
							 
						 
						
							
							
								
								Add support for a fill value in the .zero directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115655 
							
						 
						
							2010-10-05 19:42:57 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b1d0789357 
								
							 
						 
						
							
							
								
								Implement a simple alias case and refactor the code a bit so that the  
							
							 
							
							... 
							
							
							
							isInSymtab and isLocal logic in the two loops don't get easily out of sync.
llvm-svn: 115643 
							
						 
						
							2010-10-05 18:01:23 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d03e81dba8 
								
							 
						 
						
							
							
								
								Produce a undefined reference to _GLOBAL_OFFSET_TABLE_ when needed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115623 
							
						 
						
							2010-10-05 15:48:37 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								259bcdad06 
								
							 
						 
						
							
							
								
								Tests that now pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115622 
							
						 
						
							2010-10-05 15:43:32 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fd1fff8b19 
								
							 
						 
						
							
							
								
								Implement ELF::R_X86_64_GOTPCREL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115547 
							
						 
						
							2010-10-04 19:51:39 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								baadbd554a 
								
							 
						 
						
							
							
								
								Produce a R_X86_64_PLT32 when needed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115541 
							
						 
						
							2010-10-04 19:04:13 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b2c4ca6433 
								
							 
						 
						
							
							
								
								Produce a R_X86_64_GOT32 when needed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115537 
							
						 
						
							2010-10-04 18:44:25 +00:00  
						
					 
				
					
						
							
							
								 
								Jan Wen Voung
							
						 
						
							 
							
							
							
							
								
							
							
								87f77b5f9a 
								
							 
						 
						
							
							
								
								Add hook in MCSection to decide when to use "optimized nops", for each  
							
							 
							
							... 
							
							
							
							section kind. Previously, optimized nops were only used for MachO.
Also added tests for ELF and COFF.
llvm-svn: 115523 
							
						 
						
							2010-10-04 17:32:41 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								da0e3d07b2 
								
							 
						 
						
							
							
								
								Include the section address in the computation of the relocation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115509 
							
						 
						
							2010-10-04 15:59:01 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								7c48b06930 
								
							 
						 
						
							
							
								
								Correctly compute the relocation when it is not in the first fragment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115506 
							
						 
						
							2010-10-04 15:28:43 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f70b4e0c2e 
								
							 
						 
						
							
							
								
								Implement a very basic PIC case.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115454 
							
						 
						
							2010-10-03 00:46:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a2f2c27b20 
								
							 
						 
						
							
							
								
								actually, move the elf tests into the existing elf dir.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115416 
							
						 
						
							2010-10-02 18:53:48 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f987d5ea1c 
								
							 
						 
						
							
							
								
								Factor some logic into ShouldRelocOnSymbol. This simplifies the code and  
							
							 
							
							... 
							
							
							
							fixes some cases where we were producing relocations with at symbol that
should use a section instead.
llvm-svn: 115194 
							
						 
						
							2010-09-30 20:18:35 +00:00  
						
					 
				
					
						
							
							
								 
								Jan Wen Voung
							
						 
						
							 
							
							
							
							
								
							
							
								efbdbe5565 
								
							 
						 
						
							
							
								
								Move logic of determining ELF entsize from the .s printer to initialization  
							
							 
							
							... 
							
							
							
							time. That way, the EntrySize field is initialized for other code paths, 
namely, the .ll -> .o code path.
llvm-svn: 115141 
							
						 
						
							2010-09-30 05:59:22 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9d98ac645e 
								
							 
						 
						
							
							
								
								Add another test that now passes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115137 
							
						 
						
							2010-09-30 04:22:07 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								70d6e0e0ff 
								
							 
						 
						
							
							
								
								Correctly produce R_X86_64_32 or R_X86_64_32S.  
							
							 
							
							... 
							
							
							
							With this patch in
movq    $foo, foo(%rip)
foo:
.long   foo
We produce a R_X86_64_32S for the first relocation and R_X86_64_32 for the
second one.
llvm-svn: 115134 
							
						 
						
							2010-09-30 03:11:42 +00:00  
						
					 
				
					
						
							
							
								 
								Jan Wen Voung
							
						 
						
							 
							
							
							
							
								
							
							
								b96b2d8e4d 
								
							 
						 
						
							
							
								
								Have ELFAsmParser.cpp use the already parsed "Size" (entry size) when  
							
							 
							
							... 
							
							
							
							constructing a section. Test for a few cases also included.
llvm-svn: 115132 
							
						 
						
							2010-09-30 02:41:46 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2ebaee9c75 
								
							 
						 
						
							
							
								
								Make it possible for the MCObjectWriter to decide if a given fixup is fully  
							
							 
							
							... 
							
							
							
							resolved or not. Different object files have different restrictions and
different native assemblers have different idiosyncrasies we want to emulate
for now.
Move the existing MachO logic to the new place and implement an ELF one that
gets fixups to globals right.
llvm-svn: 115131 
							
						 
						
							2010-09-30 02:22:20 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								53f0bf194a 
								
							 
						 
						
							
							
								
								Move "local commons" to the end of .bss to match the gnu as behavior.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115037 
							
						 
						
							2010-09-29 14:52:01 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								68e05d404a 
								
							 
						 
						
							
							
								
								Add a test that I forgot to add with a previous commit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 115036 
							
						 
						
							2010-09-29 14:40:49 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								01d20a76fe 
								
							 
						 
						
							
							
								
								On elf, undefined symbols can start with .L.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114958 
							
						 
						
							2010-09-28 16:19:11 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								96bfb50c03 
								
							 
						 
						
							
							
								
								Write relocations in the end of the file. This matches what gas does and  
							
							 
							
							... 
							
							
							
							makes files easier to diff.
llvm-svn: 114898 
							
						 
						
							2010-09-27 22:04:54 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9ca41113f6 
								
							 
						 
						
							
							
								
								Make sure .text doesn't produce extra alignment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114895 
							
						 
						
							2010-09-27 21:40:27 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								75d65b9a03 
								
							 
						 
						
							
							
								
								Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to put  
							
							 
							
							... 
							
							
							
							symbols defined in merge sections in independent atoms.
llvm-svn: 114786 
							
						 
						
							2010-09-25 05:42:19 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								cf1f985838 
								
							 
						 
						
							
							
								
								Reapply 114678 and 114667. Reverting them did not fix the bot:  
							
							 
							
							... 
							
							
							
							http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost/builds/69 
llvm-svn: 114761 
							
						 
						
							2010-09-24 21:19:03 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3843bb9d2c 
								
							 
						 
						
							
							
								
								Revert 114678 and 114667 to see if  
							
							 
							
							... 
							
							
							
							http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost 
gets happy.
llvm-svn: 114742 
							
						 
						
							2010-09-24 18:48:08 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f458f04eb1 
								
							 
						 
						
							
							
								
								Correctly handle weak undefined symbols. Before we would get a invalid binding  
							
							 
							
							... 
							
							
							
							(2 == STB_WEAK | STB_GLOBAL).
llvm-svn: 114690 
							
						 
						
							2010-09-23 19:55:14 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								48e108753b 
								
							 
						 
						
							
							
								
								Represent relocations against local symbols as relocations against the section  
							
							 
							
							... 
							
							
							
							they are in. Both ways should be equivalent, but gas produces relocations
against the section.
Roman wrote the patch, I added the test.
llvm-svn: 114667 
							
						 
						
							2010-09-23 17:25:18 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								dee12d8110 
								
							 
						 
						
							
							
								
								Avoid some Mach-O specific alignment being done on ELF.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114594 
							
						 
						
							2010-09-22 22:27:05 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9bac6cb544 
								
							 
						 
						
							
							
								
								Correctly align bss.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114556 
							
						 
						
							2010-09-22 17:43:04 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f0591c1642 
								
							 
						 
						
							
							
								
								Implement support for .local and its "interesting" interactions with .comm.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114382 
							
						 
						
							2010-09-21 00:24:38 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								32ab4558fe 
								
							 
						 
						
							
							
								
								Produce a R_X86_64_32 when the value is >=0.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114339 
							
						 
						
							2010-09-20 19:20:47 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								57e599a82a 
								
							 
						 
						
							
							
								
								Make sure the STT_FILE symbol is the first one in the symbol table.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114285 
							
						 
						
							2010-09-18 15:03:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								15829c6c4c 
								
							 
						 
						
							
							
								
								Add test that was missing in my previous commit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114248 
							
						 
						
							2010-09-18 00:37:27 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								44bf266111 
								
							 
						 
						
							
							
								
								Print the address of sections as 0 and create the metadata sections in the  
							
							 
							
							... 
							
							
							
							same order as gnu as.
llvm-svn: 114109 
							
						 
						
							2010-09-16 19:46:31 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f7f433200b 
								
							 
						 
						
							
							
								
								Make sure that names like .note.GNU-stack are accepted as valid section names.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114091 
							
						 
						
							2010-09-16 17:05:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								922e3f454b 
								
							 
						 
						
							
							
								
								Add support for the .zero directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114077 
							
						 
						
							2010-09-16 15:03:59 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f667d929ce 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 114027 
							
						 
						
							2010-09-15 21:48:40 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								12d73d1f18 
								
							 
						 
						
							
							
								
								Add support for leb128 of absolute expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113691 
							
						 
						
							2010-09-11 16:45:15 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								0a96578ac0 
								
							 
						 
						
							
							
								
								Add an elf-dumper utility.  
							
							 
							
							... 
							
							
							
							- Output format and some of the code stolen from macho-dump.
- Somewhat incomplete and probably buggy.
- Comes with a very basic test.
llvm-svn: 113488 
							
						 
						
							2010-09-09 15:00:41 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								8e92d9b68d 
								
							 
						 
						
							
							
								
								MC/ELF: Allow null values in virtual sections, ELF doesn't use special  
							
							 
							
							... 
							
							
							
							directives for putting contents in .bss, for example.
llvm-svn: 111376 
							
						 
						
							2010-08-18 18:22:37 +00:00