Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Implement TLSLD. | Rafael Espindola | 2010-10-28 | 1 | -0/+7 | |
| | | | | llvm-svn: 117547 | |||||
* | Implement DTPOFF. | Rafael Espindola | 2010-10-28 | 1 | -0/+9 | |
| | | | | llvm-svn: 117546 | |||||
* | Implement TLSLDM. | Rafael Espindola | 2010-10-28 | 1 | -0/+7 | |
| | | | | llvm-svn: 117544 | |||||
* | Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind. | Rafael Espindola | 2010-10-28 | 1 | -0/+9 | |
| | | | | llvm-svn: 117543 | |||||
* | Add support for R_386_TLS_GD, R_386_TLS_LE_32, R_386_TLS_IE and R_386_TLS_LE. | Rafael Espindola | 2010-10-27 | 1 | -0/+32 | |
| | | | | llvm-svn: 117494 | |||||
* | Implement R_X86_64_GOTTPOFF, R_X86_64_TLSGD and R_X86_64_TPOFF32. | Rafael Espindola | 2010-10-27 | 1 | -7/+28 | |
| | | | | llvm-svn: 117481 | |||||
* | Set default type and flags for .init and .fini. | Rafael Espindola | 2010-10-27 | 1 | -0/+28 | |
| | | | | llvm-svn: 117471 | |||||
* | Produce an error for an invalid use of .symver. | Rafael Espindola | 2010-10-27 | 1 | -0/+7 | |
| | | | | llvm-svn: 117462 | |||||
* | Symbols defined as the difference of other two end up in the ABS section. | Rafael Espindola | 2010-10-27 | 1 | -0/+16 | |
| | | | | llvm-svn: 117451 | |||||
* | Add support for the .symver directive. This is really ugly, but most of it is | Rafael Espindola | 2010-10-27 | 1 | -0/+142 | |
| | | | | | | contained in the ELF object writer. llvm-svn: 117448 | |||||
* | Add support for .ident. | Rafael Espindola | 2010-10-26 | 1 | -0/+17 | |
| | | | | llvm-svn: 117389 | |||||
* | Implement some relaxations for arithmetic instructions. The limitation | Rafael Espindola | 2010-10-26 | 1 | -0/+75 | |
| | | | | | | | on RIP relative relocations looks artificial, but this is a superset of what we were able to do before. llvm-svn: 117364 | |||||
* | Do not recurse into symbol refs that have a variant kind. This prevents us | Rafael Espindola | 2010-10-21 | 1 | -0/+16 | |
| | | | | | | from losing the variant when producing a relocation on an alias. llvm-svn: 117037 | |||||
* | Handle _GLOBAL_OFFSET_TABLE_ correctly. | Rafael Espindola | 2010-10-20 | 1 | -0/+18 | |
| | | | | llvm-svn: 116932 | |||||
* | Fixing r116753 r116756 r116777 | Jason W Kim | 2010-10-19 | 31 | -536/+536 | |
| | | | | | | | | | | | | | | | | | | | 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 | |||||
* | Speculatively revert 116753 and 116756 to attempt to fix the bots. | Eric Christopher | 2010-10-19 | 31 | -534/+534 | |
| | | | | llvm-svn: 116777 | |||||
* | Changed elf-dump to output hex format by default. | Jason W Kim | 2010-10-18 | 31 | -534/+534 | |
| | | | | | | Also updated tests. llvm-svn: 116753 | |||||
* | Implement R_386_GOT32. | Rafael Espindola | 2010-10-18 | 1 | -1/+10 | |
| | | | | llvm-svn: 116744 | |||||
* | Relocate with .bss instead of using the symbol. Matches gas behavior. | Rafael Espindola | 2010-10-18 | 1 | -0/+25 | |
| | | | | llvm-svn: 116741 | |||||
* | Produce ELF::R_386_GOTPC relocations. | Rafael Espindola | 2010-10-18 | 1 | -0/+7 | |
| | | | | llvm-svn: 116728 | |||||
* | Produce a R_386_PLT32 when needed. Moved the default cases of switches to the | Rafael Espindola | 2010-10-18 | 1 | -3/+13 | |
| | | | | | | start for consistency. llvm-svn: 116715 | |||||
* | Handle GOTOFF correctly on i386. | Rafael Espindola | 2010-10-18 | 1 | -0/+20 | |
| | | | | llvm-svn: 116711 | |||||
* | Add a MCObjectFormat class so that code common to all targets that use a | Rafael Espindola | 2010-10-16 | 2 | -0/+28 | |
| | | | | | | | | | | | | single object format can be shared. This also adds support for mov zed+(bar-foo), %eax on ELF and COFF targets. llvm-svn: 116675 | |||||
* | Refactor code a bit and avoid creating unnecessary entries in the string | Rafael Espindola | 2010-10-15 | 1 | -5/+5 | |
| | | | | | | map. llvm-svn: 116579 | |||||
* | Remove some code duplication. | Rafael Espindola | 2010-10-14 | 2 | -8/+8 | |
| | | | | llvm-svn: 116484 | |||||
* | Call InitSections in llc and clang so that the binaries produced by them | Rafael Espindola | 2010-10-08 | 1 | -2/+2 | |
| | | | | | | are easier to diff with those produced by llvm-mc. llvm-svn: 116095 | |||||
* | Get binding and visibility info from the the alias, but Type from the symbol | Rafael Espindola | 2010-10-06 | 1 | -9/+34 | |
| | | | | | | being aliased. llvm-svn: 115836 | |||||
* | If a symbol is global, reloc against it even if it is in a mergeable section. | Rafael Espindola | 2010-10-06 | 1 | -0/+15 | |
| | | | | llvm-svn: 115817 | |||||
* | Make sure weak symbols are listed after the local ones. | Rafael Espindola | 2010-10-06 | 1 | -0/+16 | |
| | | | | llvm-svn: 115795 | |||||
* | Correctly handle GOTPCREL relocations. | Rafael Espindola | 2010-10-06 | 1 | -0/+9 | |
| | | | | llvm-svn: 115793 | |||||
* | Use a relocation against the symbol if it is a PLT and the symbol is in another | Rafael Espindola | 2010-10-05 | 1 | -4/+20 | |
| | | | | | | section. Common because of linkonce sections. llvm-svn: 115718 | |||||
* | Implement more alias cases. | Rafael Espindola | 2010-10-05 | 1 | -0/+37 | |
| | | | | llvm-svn: 115699 | |||||
* | Don't crash in a strange .size directive. | Rafael Espindola | 2010-10-05 | 1 | -0/+9 | |
| | | | | llvm-svn: 115684 | |||||
* | Add support for a fill value in the .zero directive. | Rafael Espindola | 2010-10-05 | 1 | -2/+3 | |
| | | | | llvm-svn: 115655 | |||||
* | Implement a simple alias case and refactor the code a bit so that the | Rafael Espindola | 2010-10-05 | 1 | -0/+22 | |
| | | | | | | isInSymtab and isLocal logic in the two loops don't get easily out of sync. llvm-svn: 115643 | |||||
* | Produce a undefined reference to _GLOBAL_OFFSET_TABLE_ when needed. | Rafael Espindola | 2010-10-05 | 1 | -1/+5 | |
| | | | | llvm-svn: 115623 | |||||
* | Tests that now pass. | Rafael Espindola | 2010-10-05 | 2 | -19/+80 | |
| | | | | llvm-svn: 115622 | |||||
* | Implement ELF::R_X86_64_GOTPCREL. | Rafael Espindola | 2010-10-04 | 1 | -1/+8 | |
| | | | | llvm-svn: 115547 | |||||
* | Produce a R_X86_64_PLT32 when needed. | Rafael Espindola | 2010-10-04 | 1 | -0/+14 | |
| | | | | llvm-svn: 115541 | |||||
* | Produce a R_X86_64_GOT32 when needed. | Rafael Espindola | 2010-10-04 | 1 | -0/+14 | |
| | | | | llvm-svn: 115537 | |||||
* | Add hook in MCSection to decide when to use "optimized nops", for each | Jan Wen Voung | 2010-10-04 | 1 | -0/+40 | |
| | | | | | | | section kind. Previously, optimized nops were only used for MachO. Also added tests for ELF and COFF. llvm-svn: 115523 | |||||
* | Include the section address in the computation of the relocation. | Rafael Espindola | 2010-10-04 | 1 | -0/+3 | |
| | | | | llvm-svn: 115509 | |||||
* | Correctly compute the relocation when it is not in the first fragment. | Rafael Espindola | 2010-10-04 | 1 | -1/+2 | |
| | | | | llvm-svn: 115506 | |||||
* | Implement a very basic PIC case. | Rafael Espindola | 2010-10-03 | 1 | -0/+25 | |
| | | | | llvm-svn: 115454 | |||||
* | actually, move the elf tests into the existing elf dir. | Chris Lattner | 2010-10-02 | 2 | -0/+36 | |
| | | | | llvm-svn: 115416 | |||||
* | Factor some logic into ShouldRelocOnSymbol. This simplifies the code and | Rafael Espindola | 2010-09-30 | 2 | -7/+16 | |
| | | | | | | | fixes some cases where we were producing relocations with at symbol that should use a section instead. llvm-svn: 115194 | |||||
* | Move logic of determining ELF entsize from the .s printer to initialization | Jan Wen Voung | 2010-09-30 | 1 | -0/+44 | |
| | | | | | | | time. That way, the EntrySize field is initialized for other code paths, namely, the .ll -> .o code path. llvm-svn: 115141 | |||||
* | Add another test that now passes. | Rafael Espindola | 2010-09-30 | 1 | -0/+10 | |
| | | | | llvm-svn: 115137 | |||||
* | Correctly produce R_X86_64_32 or R_X86_64_32S. | Rafael Espindola | 2010-09-30 | 1 | -5/+41 | |
| | | | | | | | | | | | | | 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 | |||||
* | Have ELFAsmParser.cpp use the already parsed "Size" (entry size) when | Jan Wen Voung | 2010-09-30 | 1 | -0/+69 | |
| | | | | | | constructing a section. Test for a few cases also included. llvm-svn: 115132 |