Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add support for emitting ARM file attributes. | Rafael Espindola | 2010-10-25 | 1 | -3/+1 | |
| | | | | llvm-svn: 117275 | |||||
* | Add X86::reloc_global_offset_table and use it to have a single place where | Rafael Espindola | 2010-10-24 | 1 | -4/+5 | |
| | | | | | | we check for _GLOBAL_OFFSET_TABLE_. llvm-svn: 117241 | |||||
* | Making the e_machine configurable by the target backend in ELFObjectWriter. | Wesley Peck | 2010-10-22 | 1 | -5/+9 | |
| | | | | llvm-svn: 117099 | |||||
* | Small cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_. | Rafael Espindola | 2010-10-19 | 1 | -7/+11 | |
| | | | | llvm-svn: 116848 | |||||
* | Implement R_386_GOT32. | Rafael Espindola | 2010-10-18 | 1 | -0/+3 | |
| | | | | llvm-svn: 116744 | |||||
* | Relocate with .bss instead of using the symbol. Matches gas behavior. | Rafael Espindola | 2010-10-18 | 1 | -0/+3 | |
| | | | | llvm-svn: 116741 | |||||
* | Reenable assert. | Rafael Espindola | 2010-10-18 | 1 | -1/+2 | |
| | | | | llvm-svn: 116738 | |||||
* | Produce ELF::R_386_GOTPC relocations. | Rafael Espindola | 2010-10-18 | 1 | -1/+6 | |
| | | | | llvm-svn: 116728 | |||||
* | Make the bots happy. | Rafael Espindola | 2010-10-18 | 1 | -1/+3 | |
| | | | | llvm-svn: 116719 | |||||
* | Produce a R_386_PLT32 when needed. Moved the default cases of switches to the | Rafael Espindola | 2010-10-18 | 1 | -7/+13 | |
| | | | | | | start for consistency. llvm-svn: 116715 | |||||
* | Handle GOTOFF correctly on i386. | Rafael Espindola | 2010-10-18 | 1 | -5/+15 | |
| | | | | llvm-svn: 116711 | |||||
* | Fix a typo and silence unused variable warnings in -Asserts build. | Benjamin Kramer | 2010-10-17 | 1 | -4/+2 | |
| | | | | llvm-svn: 116685 | |||||
* | Add a MCObjectFormat class so that code common to all targets that use a | Rafael Espindola | 2010-10-16 | 1 | -16/+5 | |
| | | | | | | | | | | | | 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 alias handling to AliasedSymbol. | Rafael Espindola | 2010-10-15 | 1 | -13/+15 | |
| | | | | llvm-svn: 116600 | |||||
* | Refactor code a bit and avoid creating unnecessary entries in the string | Rafael Espindola | 2010-10-15 | 1 | -19/+19 | |
| | | | | | | map. llvm-svn: 116579 | |||||
* | Remove some code duplication. | Rafael Espindola | 2010-10-14 | 1 | -49/+18 | |
| | | | | llvm-svn: 116484 | |||||
* | Another case of 256 sections not being enough :-) | Rafael Espindola | 2010-10-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 115858 | |||||
* | Get binding and visibility info from the the alias, but Type from the symbol | Rafael Espindola | 2010-10-06 | 1 | -3/+25 | |
| | | | | | | 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 | -3/+3 | |
| | | | | llvm-svn: 115817 | |||||
* | Make sure weak symbols are listed after the local ones. | Rafael Espindola | 2010-10-06 | 1 | -2/+3 | |
| | | | | llvm-svn: 115795 | |||||
* | Correctly handle GOTPCREL relocations. | Rafael Espindola | 2010-10-06 | 1 | -3/+6 | |
| | | | | 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 | -2/+11 | |
| | | | | | | section. Common because of linkonce sections. llvm-svn: 115718 | |||||
* | Implement more alias cases. | Rafael Espindola | 2010-10-05 | 1 | -0/+11 | |
| | | | | llvm-svn: 115699 | |||||
* | 256 sections should be enough for anyone... | Rafael Espindola | 2010-10-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 115687 | |||||
* | Don't crash in a strange .size directive. | Rafael Espindola | 2010-10-05 | 1 | -5/+15 | |
| | | | | llvm-svn: 115684 | |||||
* | Implement a simple alias case and refactor the code a bit so that the | Rafael Espindola | 2010-10-05 | 1 | -17/+35 | |
| | | | | | | 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/+25 | |
| | | | | llvm-svn: 115623 | |||||
* | On ELF we need to know which symbols are used in relocations to decide if | Rafael Espindola | 2010-10-05 | 1 | -23/+44 | |
| | | | | | | | they should be in the symbol table or not. Instead of "guessing", just compute the symbol table after the relocations are known. llvm-svn: 115619 | |||||
* | Implement ELF::R_X86_64_GOTPCREL. | Rafael Espindola | 2010-10-04 | 1 | -0/+3 | |
| | | | | llvm-svn: 115547 | |||||
* | Move isFixupKindX86PCRel. | Rafael Espindola | 2010-10-04 | 1 | -12/+12 | |
| | | | | llvm-svn: 115545 | |||||
* | Produce a R_X86_64_PLT32 when needed. | Rafael Espindola | 2010-10-04 | 1 | -1/+10 | |
| | | | | llvm-svn: 115541 | |||||
* | Produce a R_X86_64_GOT32 when needed. | Rafael Espindola | 2010-10-04 | 1 | -1/+12 | |
| | | | | llvm-svn: 115537 | |||||
* | Include the section address in the computation of the relocation. | Rafael Espindola | 2010-10-04 | 1 | -1/+8 | |
| | | | | llvm-svn: 115509 | |||||
* | Correctly compute the relocation when it is not in the first fragment. | Rafael Espindola | 2010-10-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 115506 | |||||
* | Implement a very basic PIC case. | Rafael Espindola | 2010-10-03 | 1 | -0/+7 | |
| | | | | llvm-svn: 115454 | |||||
* | Factor some logic into ShouldRelocOnSymbol. This simplifies the code and | Rafael Espindola | 2010-09-30 | 1 | -38/+31 | |
| | | | | | | | fixes some cases where we were producing relocations with at symbol that should use a section instead. llvm-svn: 115194 | |||||
* | Correctly produce R_X86_64_32 or R_X86_64_32S. | Rafael Espindola | 2010-09-30 | 1 | -8/+9 | |
| | | | | | | | | | | | | | 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 | |||||
* | Make it possible for the MCObjectWriter to decide if a given fixup is fully | Rafael Espindola | 2010-09-30 | 1 | -4/+51 | |
| | | | | | | | | | | | 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 | |||||
* | On elf, undefined symbols can start with .L. | Rafael Espindola | 2010-09-28 | 1 | -1/+4 | |
| | | | | llvm-svn: 114958 | |||||
* | Write relocations in the end of the file. This matches what gas does and | Rafael Espindola | 2010-09-27 | 1 | -2/+1 | |
| | | | | | | makes files easier to diff. llvm-svn: 114898 | |||||
* | Factor symbol value computation into a function. | Rafael Espindola | 2010-09-27 | 1 | -9/+17 | |
| | | | | llvm-svn: 114891 | |||||
* | Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to put | Rafael Espindola | 2010-09-25 | 1 | -7/+15 | |
| | | | | | | symbols defined in merge sections in independent atoms. llvm-svn: 114786 | |||||
* | Reapply 114678 and 114667. Reverting them did not fix the bot: | Rafael Espindola | 2010-09-24 | 1 | -2/+5 | |
| | | | | | | http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost/builds/69 llvm-svn: 114761 | |||||
* | Revert 114678 and 114667 to see if | Rafael Espindola | 2010-09-24 | 1 | -5/+2 | |
| | | | | | | | | http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost gets happy. llvm-svn: 114742 | |||||
* | Correctly handle weak undefined symbols. Before we would get a invalid binding | Rafael Espindola | 2010-09-23 | 1 | -5/+20 | |
| | | | | | | (2 == STB_WEAK | STB_GLOBAL). llvm-svn: 114690 | |||||
* | Correctly compute the offset of the symbol. Forgot these bits from the | Rafael Espindola | 2010-09-23 | 1 | -1/+4 | |
| | | | | | | last commit. llvm-svn: 114678 | |||||
* | Represent relocations against local symbols as relocations against the section | Rafael Espindola | 2010-09-23 | 1 | -1/+1 | |
| | | | | | | | | | 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 | |||||
* | Fix the FIXME. | Rafael Espindola | 2010-09-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 114639 | |||||
* | Fix typo and add a FIXME. | Rafael Espindola | 2010-09-22 | 1 | -1/+2 | |
| | | | | llvm-svn: 114570 | |||||
* | Revert unrelated change that was accidentally included in the previous commit. | Rafael Espindola | 2010-09-21 | 1 | -4/+1 | |
| | | | | llvm-svn: 114383 |