summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/ELF
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement TLSLD.Rafael Espindola2010-10-281-0/+7
| | | | llvm-svn: 117547
* Implement DTPOFF.Rafael Espindola2010-10-281-0/+9
| | | | llvm-svn: 117546
* Implement TLSLDM.Rafael Espindola2010-10-281-0/+7
| | | | llvm-svn: 117544
* Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind.Rafael Espindola2010-10-281-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 Espindola2010-10-271-0/+32
| | | | llvm-svn: 117494
* Implement R_X86_64_GOTTPOFF, R_X86_64_TLSGD and R_X86_64_TPOFF32.Rafael Espindola2010-10-271-7/+28
| | | | llvm-svn: 117481
* Set default type and flags for .init and .fini.Rafael Espindola2010-10-271-0/+28
| | | | llvm-svn: 117471
* Produce an error for an invalid use of .symver.Rafael Espindola2010-10-271-0/+7
| | | | llvm-svn: 117462
* Symbols defined as the difference of other two end up in the ABS section.Rafael Espindola2010-10-271-0/+16
| | | | llvm-svn: 117451
* Add support for the .symver directive. This is really ugly, but most of it isRafael Espindola2010-10-271-0/+142
| | | | | | contained in the ELF object writer. llvm-svn: 117448
* Add support for .ident.Rafael Espindola2010-10-261-0/+17
| | | | llvm-svn: 117389
* Implement some relaxations for arithmetic instructions. The limitationRafael Espindola2010-10-261-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 usRafael Espindola2010-10-211-0/+16
| | | | | | from losing the variant when producing a relocation on an alias. llvm-svn: 117037
* Handle _GLOBAL_OFFSET_TABLE_ correctly.Rafael Espindola2010-10-201-0/+18
| | | | llvm-svn: 116932
* Fixing r116753 r116756 r116777Jason W Kim2010-10-1931-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 Christopher2010-10-1931-534/+534
| | | | llvm-svn: 116777
* Changed elf-dump to output hex format by default.Jason W Kim2010-10-1831-534/+534
| | | | | | Also updated tests. llvm-svn: 116753
* Implement R_386_GOT32.Rafael Espindola2010-10-181-1/+10
| | | | llvm-svn: 116744
* Relocate with .bss instead of using the symbol. Matches gas behavior.Rafael Espindola2010-10-181-0/+25
| | | | llvm-svn: 116741
* Produce ELF::R_386_GOTPC relocations.Rafael Espindola2010-10-181-0/+7
| | | | llvm-svn: 116728
* Produce a R_386_PLT32 when needed. Moved the default cases of switches to theRafael Espindola2010-10-181-3/+13
| | | | | | start for consistency. llvm-svn: 116715
* Handle GOTOFF correctly on i386.Rafael Espindola2010-10-181-0/+20
| | | | llvm-svn: 116711
* Add a MCObjectFormat class so that code common to all targets that use aRafael Espindola2010-10-162-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 stringRafael Espindola2010-10-151-5/+5
| | | | | | map. llvm-svn: 116579
* Remove some code duplication.Rafael Espindola2010-10-142-8/+8
| | | | llvm-svn: 116484
* Call InitSections in llc and clang so that the binaries produced by themRafael Espindola2010-10-081-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 symbolRafael Espindola2010-10-061-9/+34
| | | | | | being aliased. llvm-svn: 115836
* If a symbol is global, reloc against it even if it is in a mergeable section.Rafael Espindola2010-10-061-0/+15
| | | | llvm-svn: 115817
* Make sure weak symbols are listed after the local ones.Rafael Espindola2010-10-061-0/+16
| | | | llvm-svn: 115795
* Correctly handle GOTPCREL relocations.Rafael Espindola2010-10-061-0/+9
| | | | llvm-svn: 115793
* Use a relocation against the symbol if it is a PLT and the symbol is in anotherRafael Espindola2010-10-051-4/+20
| | | | | | section. Common because of linkonce sections. llvm-svn: 115718
* Implement more alias cases.Rafael Espindola2010-10-051-0/+37
| | | | llvm-svn: 115699
* Don't crash in a strange .size directive.Rafael Espindola2010-10-051-0/+9
| | | | llvm-svn: 115684
* Add support for a fill value in the .zero directive.Rafael Espindola2010-10-051-2/+3
| | | | llvm-svn: 115655
* Implement a simple alias case and refactor the code a bit so that theRafael Espindola2010-10-051-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 Espindola2010-10-051-1/+5
| | | | llvm-svn: 115623
* Tests that now pass.Rafael Espindola2010-10-052-19/+80
| | | | llvm-svn: 115622
* Implement ELF::R_X86_64_GOTPCREL.Rafael Espindola2010-10-041-1/+8
| | | | llvm-svn: 115547
* Produce a R_X86_64_PLT32 when needed.Rafael Espindola2010-10-041-0/+14
| | | | llvm-svn: 115541
* Produce a R_X86_64_GOT32 when needed.Rafael Espindola2010-10-041-0/+14
| | | | llvm-svn: 115537
* Add hook in MCSection to decide when to use "optimized nops", for eachJan Wen Voung2010-10-041-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 Espindola2010-10-041-0/+3
| | | | llvm-svn: 115509
* Correctly compute the relocation when it is not in the first fragment.Rafael Espindola2010-10-041-1/+2
| | | | llvm-svn: 115506
* Implement a very basic PIC case.Rafael Espindola2010-10-031-0/+25
| | | | llvm-svn: 115454
* actually, move the elf tests into the existing elf dir.Chris Lattner2010-10-022-0/+36
| | | | llvm-svn: 115416
* Factor some logic into ShouldRelocOnSymbol. This simplifies the code andRafael Espindola2010-09-302-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 initializationJan Wen Voung2010-09-301-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 Espindola2010-09-301-0/+10
| | | | llvm-svn: 115137
* Correctly produce R_X86_64_32 or R_X86_64_32S.Rafael Espindola2010-09-301-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 Voung2010-09-301-0/+69
| | | | | | constructing a section. Test for a few cases also included. llvm-svn: 115132
OpenPOWER on IntegriCloud