Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Implement support for .local and its "interesting" interactions with .comm. | Rafael Espindola | 2010-09-21 | 1 | -5/+10 | |
| | | | | llvm-svn: 114382 | |||||
* | Produce a R_X86_64_32 when the value is >=0. | Rafael Espindola | 2010-09-20 | 1 | -2/+5 | |
| | | | | llvm-svn: 114339 | |||||
* | Make sure the STT_FILE symbol is the first one in the symbol table. | Rafael Espindola | 2010-09-18 | 1 | -0/+13 | |
| | | | | llvm-svn: 114285 | |||||
* | Avoid relocations in a common case. | Rafael Espindola | 2010-09-17 | 1 | -1/+10 | |
| | | | | llvm-svn: 114229 | |||||
* | Print the address of sections as 0 and create the metadata sections in the | Rafael Espindola | 2010-09-16 | 1 | -33/+24 | |
| | | | | | | same order as gnu as. llvm-svn: 114109 | |||||
* | MCELF: Write relocation fragments in the right endian. | Benjamin Kramer | 2010-09-09 | 1 | -5/+26 | |
| | | | | | | - This code is gross, but does the job for now. llvm-svn: 113509 | |||||
* | Make ELF OS ABI dependent on the OS from target triple. | Roman Divacky | 2010-09-09 | 1 | -4/+13 | |
| | | | | llvm-svn: 113508 | |||||
* | ELF_STB_Local is 0 so setting and checking it must be done specially | Roman Divacky | 2010-09-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 113375 | |||||
* | Unresolved weak symbols have value equal zero. | Roman Divacky | 2010-09-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 113358 | |||||
* | MCELF: Align symtab, relocation sections and section headers properly. Patch ↵ | Benjamin Kramer | 2010-09-06 | 1 | -12/+24 | |
| | | | | | | by Krister Wombell. llvm-svn: 113155 | |||||
* | Allow creation of SHT_NULL sections, from Roman Divacky. | Benjamin Kramer | 2010-08-31 | 1 | -0/+1 | |
| | | | | llvm-svn: 112605 | |||||
* | MCELF: The value of all common symbols is the offset from the start of the ↵ | Benjamin Kramer | 2010-08-30 | 1 | -3/+5 | |
| | | | | | | section. Patch by Roman Divacky. llvm-svn: 112492 | |||||
* | The value is offset from the start of the section for non-common symbols, ↵ | Benjamin Kramer | 2010-08-30 | 1 | -0/+2 | |
| | | | | | | submitted by Jordan Gordeev. llvm-svn: 112473 | |||||
* | Index external symbols by symbol table instead of parent section, by Roman ↵ | Benjamin Kramer | 2010-08-30 | 1 | -1/+1 | |
| | | | | | | Divacky. llvm-svn: 112472 | |||||
* | squish dead code. | Chris Lattner | 2010-08-28 | 1 | -9/+8 | |
| | | | | llvm-svn: 112350 | |||||
* | MCELF: Always overwrite FixedValue. | Benjamin Kramer | 2010-08-27 | 1 | -2/+3 | |
| | | | | llvm-svn: 112259 | |||||
* | MCELF: Fix a thinko of mine. | Benjamin Kramer | 2010-08-26 | 1 | -1/+3 | |
| | | | | llvm-svn: 112203 | |||||
* | MCELF: Compensate for the addend on i386. Patch by Roman Divacky, with some ↵ | Benjamin Kramer | 2010-08-26 | 1 | -14/+7 | |
| | | | | | | cleanups. llvm-svn: 112197 | |||||
* | MCELF: Use precomputed symbol indices, patch by Roman Divacky. | Benjamin Kramer | 2010-08-25 | 1 | -11/+7 | |
| | | | | llvm-svn: 112079 | |||||
* | Relocate against parent if the symbol is not in section or it's a common ↵ | Benjamin Kramer | 2010-08-24 | 1 | -1/+2 | |
| | | | | | | symbol, from Roman Divacky. llvm-svn: 111925 | |||||
* | Fix thinko. Having no tests is great ... | Benjamin Kramer | 2010-08-23 | 1 | -4/+4 | |
| | | | | llvm-svn: 111848 |