Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove a bunch of unused variable assignments. | Benjamin Kramer | 2012-01-20 | 1 | -9/+2 |
| | | | | | | Found by the clang static analyzer. llvm-svn: 148541 | ||||
* | Kill the monstrosity that was ELFObjectWriter.h. | Rafael Espindola | 2011-12-22 | 1 | -1/+331 |
| | | | | llvm-svn: 147136 | ||||
* | Misc cleanups. | Rafael Espindola | 2011-12-22 | 1 | -20/+1 |
| | | | | llvm-svn: 147135 | ||||
* | Move the Mips only bits of the ELF writer to lib/Target/Mips. | Rafael Espindola | 2011-12-22 | 1 | -101/+1 |
| | | | | llvm-svn: 147133 | ||||
* | Move the MBlaze ELF writer bits to lib/Target/MBlaze. | Rafael Espindola | 2011-12-22 | 1 | -47/+1 |
| | | | | llvm-svn: 147129 | ||||
* | Move PPC bits to lib/Target/PowerPC. | Rafael Espindola | 2011-12-22 | 1 | -75/+4 |
| | | | | llvm-svn: 147124 | ||||
* | Local dynamic TLS model for direct object output. Create the correct TLS MIPS | Akira Hatanaka | 2011-12-22 | 1 | -0/+9 |
| | | | | | | | | ELF relocations. Patch by Jack Carter. llvm-svn: 147118 | ||||
* | Move the ARM specific parts of the ELF writer to Target/ARM. | Rafael Espindola | 2011-12-22 | 1 | -241/+1 |
| | | | | llvm-svn: 147115 | ||||
* | getEFlags is const. | Rafael Espindola | 2011-12-22 | 1 | -2/+2 |
| | | | | llvm-svn: 147114 | ||||
* | Switch from WriteEFlags to getEFlags in preparation for moving it | Rafael Espindola | 2011-12-21 | 1 | -6/+5 |
| | | | | | | to Target/. llvm-svn: 147087 | ||||
* | Move the X86 specific bits of the ELF writer to the Target/X86 directory. | Rafael Espindola | 2011-12-21 | 1 | -191/+10 |
| | | | | | | Other targets will follow shortly. llvm-svn: 147060 | ||||
* | Reduce the exposure of Triple::OSType in the ELF object writer. This will | Rafael Espindola | 2011-12-21 | 1 | -5/+1 |
| | | | | | | | avoid including ADT/Triple.h in many places when the target specific bits are moved. llvm-svn: 147059 | ||||
* | Small refactoring so that RelocNeedsGOT can stay in the target independent | Rafael Espindola | 2011-12-21 | 1 | -17/+10 |
| | | | | | | side when the target specific bits are moved to the Target directory. llvm-svn: 147053 | ||||
* | Relocation against a symbol, instead of against section. We had some extreme | Akira Hatanaka | 2011-12-13 | 1 | -2/+2 |
| | | | | | | | | | | | test cases where there were a lot of relocations applied relative to a large rodata section. Gas would create a symbol for each of these whereas we would be relative to the beginning of the rodata section. This change mimics what gas does. Patch by Jack Carter. llvm-svn: 146468 | ||||
* | Handle reloc_signed_4byte in here. Not doing so was a regression from my | Rafael Espindola | 2011-12-09 | 1 | -0/+1 |
| | | | | | | | previous commit. It is strange that we see it in 32 bits. We already have a fixme about it. llvm-svn: 146273 | ||||
* | Handle the case of the magical _GLOBAL_OFFSET_TABLE_ showing up in a | Rafael Espindola | 2011-12-09 | 1 | -7/+18 |
| | | | | | | | | symbol difference. This matches gas behavior and fixes PR11513. We still don't handle _GLOBAL_OFFSET_TABLE_ in data sections. llvm-svn: 146238 | ||||
* | Add a few moreLocal/Global R_MIPS_GOT related fixups and | Bruno Cardoso Lopes | 2011-12-07 | 1 | -1/+2 |
| | | | | | | | | make the addend fixup code a bit more generic Patch by Jack Carter. llvm-svn: 145998 | ||||
* | Explicit symbols for gnu mimicing relocations. Patch by Jack Carter | Bruno Cardoso Lopes | 2011-12-06 | 1 | -0/+14 |
| | | | | llvm-svn: 145911 | ||||
* | Tidy up. Hard tabs. | Jim Grosbach | 2011-12-06 | 1 | -1/+1 |
| | | | | llvm-svn: 145878 | ||||
* | Switch MCAssembler to method names starting w/ lower-case. | Jim Grosbach | 2011-12-06 | 1 | -1/+1 |
| | | | | | | per http://llvm.org/docs/CodingStandards.html#ll_naming llvm-svn: 145873 | ||||
* | This patch addresses gp relative fixups/relocations for jump tables. | Akira Hatanaka | 2011-11-23 | 1 | -0/+9 |
| | | | | llvm-svn: 145112 | ||||
* | Tidy up. 80 columns. | Jim Grosbach | 2011-11-15 | 1 | -2/+2 |
| | | | | llvm-svn: 144649 | ||||
* | Add mips ELF relocation types. Patch by Jack Carter! | Bruno Cardoso Lopes | 2011-11-04 | 1 | -6/+55 |
| | | | | llvm-svn: 143738 | ||||
* | Also create a shndx even if there are no symbols. This lets us test | Nick Lewycky | 2011-10-11 | 1 | -0/+3 |
| | | | | | | | .symtab_shndx reading and writing together, and finally we have a testcase for r141440. llvm-svn: 141641 | ||||
* | Don't emit the symbol table entry for the .symtab_shndx section either. | Nick Lewycky | 2011-10-07 | 1 | -1/+2 |
| | | | | llvm-svn: 141440 | ||||
* | Remove extraneous curlies. No functionality change. | Nick Lewycky | 2011-10-07 | 1 | -2/+1 |
| | | | | llvm-svn: 141439 | ||||
* | Don't emit a shstrtabindex in the reserved range. Spotted by inspection and | Nick Lewycky | 2011-10-07 | 1 | -1/+1 |
| | | | | | | patch by Cary Coutant! llvm-svn: 141413 | ||||
* | Clarify/fix typo. No functionality change. | Nick Lewycky | 2011-10-07 | 1 | -2/+2 |
| | | | | llvm-svn: 141412 | ||||
* | Add definition of MipsELFObjectWriter. | Akira Hatanaka | 2011-09-30 | 1 | -0/+18 |
| | | | | | | Patch by Reed Kotler at Mips Technologies. llvm-svn: 140891 | ||||
* | Introduce adjustFixupOffset that adjusts the fixup offset of a relocation. | Roman Divacky | 2011-08-04 | 1 | -12/+14 |
| | | | | | | | | This is meant to be overriden by backends. Implement an override on PowerPC which adjusts the offset by 2 for ha16/lo16 relocation kinds. This removes a commented out hack and enables hello world to be compiled on PowerPC. llvm-svn: 136905 | ||||
* | Add an assert to check that the Addend fits the file format. | Rafael Espindola | 2011-08-04 | 1 | -0/+6 |
| | | | | llvm-svn: 136868 | ||||
* | Fix http://llvm.org/bugs/show_bug.cgi?id=10568 | Jason W Kim | 2011-08-04 | 1 | -1/+0 |
| | | | | | | Move the reloc size assert into AsmBackend - where it is more apropos. llvm-svn: 136855 | ||||
* | Comment out the PPC relocation offset adjustment. It must be done differently. | Roman Divacky | 2011-08-02 | 1 | -0/+4 |
| | | | | | | This unbreaks some tests. llvm-svn: 136692 | ||||
* | Sketch out PowerPC ELF writer. This is enough to get clang -integrated-as | Roman Divacky | 2011-08-02 | 1 | -0/+70 |
| | | | | | | to compile a working hello world on FreeBSD/PPC32. llvm-svn: 136689 | ||||
* | Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to ↵ | Evan Cheng | 2011-07-25 | 1 | -1/+1 |
| | | | | | | createMCAsmBackend. llvm-svn: 136010 | ||||
* | Refactor X86 target to separate MC code from Target code. | Evan Cheng | 2011-07-25 | 1 | -1/+1 |
| | | | | llvm-svn: 135930 | ||||
* | Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where ↵ | Evan Cheng | 2011-07-23 | 1 | -2/+2 |
| | | | | | | they belong. llvm-svn: 135833 | ||||
* | Sink ARM mc routines into MCTargetDesc. | Evan Cheng | 2011-07-23 | 1 | -1/+1 |
| | | | | llvm-svn: 135825 | ||||
* | Remove an uneeded switch - Turns out reloc results are identical w/o the ↵ | Jason W Kim | 2011-06-09 | 1 | -12/+1 |
| | | | | | | switch. (face+palm) llvm-svn: 132790 | ||||
* | Produce an undefined reference to _GLOBAL_OFFSET_TABLE_ if we have a | Rafael Espindola | 2011-06-05 | 1 | -0/+2 |
| | | | | | | | | | | VK_GOTOFF reloc. This matches as' behavior, but it is not clear why the linker might need this, so I added a FIXME. I could test this by duplicating test/MC/ELF/got.s, but it doesn't look worthwhile. llvm-svn: 132655 | ||||
* | Add support for @GOTPTOFF in i386 mode. | Nick Lewycky | 2011-06-04 | 1 | -0/+3 |
| | | | | llvm-svn: 132643 | ||||
* | fixes target address tBL and tBLX and sets relocation type | Rafael Espindola | 2011-05-20 | 1 | -0/+11 |
| | | | | | | | | of tBL/tBLX to R_ARM_THM_CALL (ARM ELF 4.7.1.6) Patch by koan-sin tan. llvm-svn: 131748 | ||||
* | Add a FIXME reminder to remove ForceARMElfPIC switch. | Jason W Kim | 2011-05-16 | 1 | -0/+4 |
| | | | | llvm-svn: 131411 | ||||
* | sets bit 0 of the function address of thumb function in .symtab | Rafael Espindola | 2011-05-16 | 1 | -2/+7 |
| | | | | | | | | | | ("T is 1 if the target symbol S has type STT_FUNC and the symbol addresses a Thumb instruction ;it is 0 otherwise." from "ELF for the ARM Architecture" 4.7.1.2) Patch by Koan-Sin Tan! llvm-svn: 131406 | ||||
* | Remove an unused variable and move a couple others inside DEBUG. | Matt Beaumont-Gay | 2011-05-11 | 1 | -6/+6 |
| | | | | llvm-svn: 131208 | ||||
* | Address the last bit of relocation flag related divergence betweeen | Jason W Kim | 2011-05-11 | 1 | -20/+107 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLVM and binutils. With this patch, there are no functional differences between the .o produced directly from LLVM versus the .s to .o via GNU as, for relocation tags at least, for both PIC and non-PIC modes. Because some non-PIC reloc tags are used (legally) on PIC, so IsPCRel flag is necessary but not sufficient to determine whether the overall codegen mode is PIC or not. Why is this necessary? There is an incompatibility of how relocs are emitted in the .rodata section. Binutils PIC likes to emit certain relocs as section relative offsets. Non-PIC does not do this. So I added a hidden switch on the ELFObjectwriter "-arm-elf-force-pic" which forces the objectwriter to pretend that all relocs are for PIC mode. Todo: Activate ForceARMElfPIC to true if -relocation-model=pic is selected on llc. Todo: There are probably more issues for PIC mode on ARM/MC/ELF... Todo: Existing tests in MC/ARM/elf-reloc*.ll need to be converted over to .s tests as well as expanded to cover the gamut. llvm-svn: 131205 | ||||
* | Simplify the handling of pcrel relocations on ELF. Now we do the right thing | Rafael Espindola | 2011-05-01 | 1 | -1/+5 |
| | | | | | | | | | | for all symbol differences and can drop the old EmitPCRelSymbolValue method. This also make getExprForFDESymbol on ELF equal to the one on MachO, and it can be made non-virtual. llvm-svn: 130634 | ||||
* | Micro optimization and improved similarity with gas' output: | Rafael Espindola | 2011-04-07 | 1 | -10/+38 |
| | | | | | | When two section names share a suffix, reuse the entry in shstrtab. llvm-svn: 129115 | ||||
* | Write the section table and the section data in the same order that | Rafael Espindola | 2011-03-20 | 1 | -93/+196 |
| | | | | | | | gun as does. This makes it a lot easier to compare the output of both as the addresses are now a lot closer. llvm-svn: 127972 | ||||
* | Split MCEELFStreamer and ELFObjectWriter into .h and .cpp files, so that ↵ | Jan Sjödin | 2011-03-03 | 1 | -363/+1 |
| | | | | | | other components can use them. llvm-svn: 126942 |