Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Another use of getSymbolOffset. | Rafael Espindola | 2010-12-06 | 1 | -4/+8 | |
| | | | | llvm-svn: 121034 | |||||
* | Add support for binary encoding of ARM 'adr' instructions referencing constant | Jim Grosbach | 2010-12-02 | 1 | -1/+6 | |
| | | | | | | pool entries (LEApcrel pseudo). Ongoing saga of rdar://8542291. llvm-svn: 120635 | |||||
* | Define generic 1, 2 and 4 byte pc relative relocations. They are common | Rafael Espindola | 2010-11-28 | 1 | -6/+6 | |
| | | | | | | and at least the 4 byte one will be needed to implement the .cfi_* directives. llvm-svn: 120240 | |||||
* | macho-dump: Add support for dumping relocation entries. | Daniel Dunbar | 2010-11-27 | 1 | -14/+9 | |
| | | | | llvm-svn: 120216 | |||||
* | Fix a comment. | Daniel Dunbar | 2010-11-27 | 1 | -2/+1 | |
| | | | | llvm-svn: 120199 | |||||
* | Reduce nesting. | Daniel Dunbar | 2010-11-27 | 1 | -20/+26 | |
| | | | | llvm-svn: 120189 | |||||
* | MC/Mach-O: Migrate more constants into MachOFormat.h. | Daniel Dunbar | 2010-11-27 | 1 | -104/+37 | |
| | | | | llvm-svn: 120188 | |||||
* | MC/Mach-O: Introduce Object/MachOFormat for describing purely platform / machine | Daniel Dunbar | 2010-11-27 | 1 | -38/+24 | |
| | | | | | | | independent information on the Mach object format, and move some stuff from MachObjectWriter.cpp there. llvm-svn: 120186 | |||||
* | make isVirtualSection a virtual method on MCSection. Chris' suggestion. | Rafael Espindola | 2010-11-17 | 1 | -2/+2 | |
| | | | | llvm-svn: 119547 | |||||
* | MC: Simplify Mach-O and ELF object writer implementations. | Daniel Dunbar | 2010-11-13 | 1 | -59/+13 | |
| | | | | | | - What was I thinking????? llvm-svn: 118992 | |||||
* | Trailing whitespace. | Jim Grosbach | 2010-11-11 | 1 | -5/+5 | |
| | | | | llvm-svn: 118831 | |||||
* | Allow targets to specify the MachO CPUType/CPUSubtype information. | Jim Grosbach | 2010-11-05 | 1 | -7/+13 | |
| | | | | llvm-svn: 118288 | |||||
* | On ELF we need to know which symbols are used in relocations to decide if | Rafael Espindola | 2010-10-05 | 1 | -1/+1 | |
| | | | | | | | 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 | |||||
* | This adds a Darwin x86_64 relocation encoding for a subtraction expression | Kevin Enderby | 2010-10-02 | 1 | -13/+29 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | where both symbols are "local", that is non-external symbols, and there is no "base" for the symbols used in the expression, that is the section has no non-temporary symbols. This case looks like this: % cat local_reloc_A-B.s .long 0 LB: .long 1 .long LA - LB - 4 .long 2 LA: .long 3 which llvm-mc will not encode without this patch, generates a "unsupported local relocations in difference" error, but the Darwin assembler will encode with relocation entries like this: % otool -rv a.out l.out a.out: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long False SUB False 1 (__TEXT,__text) 00000008 False long False UNSIGND False 1 (__TEXT,__text) which is very similar to what is encoded when the symbols don't have the leading 'L' and they are not temporary symbols. Which llvm-mc and the Darwin assembler will encoded like this: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long True SUB False B 00000008 False long True UNSIGND False A This is the missing relocation encoding needed to allow the Mach-O x86 Dwarf file and line table to be emitted. So this patch also removes the TODO from the if() statement in MCMachOStreamer::Finish() that didn't call MCDwarfFileTable::Emit() for 64-bit targets. llvm-svn: 115389 | |||||
* | Correctly produce R_X86_64_32 or R_X86_64_32S. | Rafael Espindola | 2010-09-30 | 1 | -0/+2 | |
| | | | | | | | | | | | | | 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 | -0/+118 | |
| | | | | | | | | | | | 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 | |||||
* | Remove unused argument. | Rafael Espindola | 2010-09-27 | 1 | -3/+3 | |
| | | | | llvm-svn: 114852 | |||||
* | MC/Mach-O/i386: Fix a crash in relocation handling. | Daniel Dunbar | 2010-09-17 | 1 | -1/+2 | |
| | | | | llvm-svn: 114176 | |||||
* | silence a vc2010 warning: " result of 32-bit shift implicitly converted to | Chris Lattner | 2010-08-16 | 1 | -1/+1 | |
| | | | | | | 64 bits (was 64-bit shift intended?)", pointed out by 'nobled' on llvmdev llvm-svn: 111148 | |||||
* | Revert "MC/MachO: Fix possible null pointer dereference." | Michael J. Spencer | 2010-08-10 | 1 | -1/+1 | |
| | | | | | | | | This reverts commit 110575. Target.isAbsolute() is true if SD would be null. llvm-svn: 110683 | |||||
* | MC/MachO: Fix possible null pointer dereference. | Michael J. Spencer | 2010-08-09 | 1 | -1/+1 | |
| | | | | | | Discovered by Microsoft Visual Studio 2010 Code Analysis. llvm-svn: 110575 | |||||
* | finish up support for callw: PR7195 | Chris Lattner | 2010-07-07 | 1 | -0/+2 | |
| | | | | llvm-svn: 107826 | |||||
* | The variable "Value" is carefully set to Layout.getSymbolAddress, | Duncan Sands | 2010-06-29 | 1 | -4/+0 | |
| | | | | | | but then not actually used - maybe a bug? Remove the variable. llvm-svn: 107137 | |||||
* | Get the addend correct for i386 pic. | Eric Christopher | 2010-06-22 | 1 | -1/+7 | |
| | | | | | | Thanks Daniel! llvm-svn: 106608 | |||||
* | Update comment. | Eric Christopher | 2010-06-17 | 1 | -1/+2 | |
| | | | | llvm-svn: 106191 | |||||
* | In progress on 32-bit addends. | Eric Christopher | 2010-06-16 | 1 | -1/+7 | |
| | | | | llvm-svn: 106154 | |||||
* | MC: Simplify MCAssembler::isSymbolLinkerVisible to only take an MCSymbol. | Daniel Dunbar | 2010-06-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 106142 | |||||
* | Fix indentation. | Eric Christopher | 2010-06-16 | 1 | -4/+4 | |
| | | | | llvm-svn: 106072 | |||||
* | Some more work on mach-o TLV relocations. | Eric Christopher | 2010-06-15 | 1 | -0/+38 | |
| | | | | llvm-svn: 106062 | |||||
* | Rearrange conditionals so we don't get caught with the correct type as wrong. | Eric Christopher | 2010-05-27 | 1 | -3/+3 | |
| | | | | llvm-svn: 104793 | |||||
* | MC: Eliminate MCAsmFixup, replace with MCFixup. | Daniel Dunbar | 2010-05-26 | 1 | -4/+4 | |
| | | | | llvm-svn: 104699 | |||||
* | MC: Use accessors for access to MCAsmFixup. | Daniel Dunbar | 2010-05-26 | 1 | -12/+14 | |
| | | | | llvm-svn: 104697 | |||||
* | Start adding mach-o tls reloc support. | Eric Christopher | 2010-05-26 | 1 | -2/+8 | |
| | | | | llvm-svn: 104651 | |||||
* | Reduce string trashing. | Benjamin Kramer | 2010-05-20 | 1 | -2/+2 | |
| | | | | llvm-svn: 104223 | |||||
* | MC/Mach-O: Implement support for setting indirect symbol table offset in ↵ | Daniel Dunbar | 2010-05-18 | 1 | -3/+14 | |
| | | | | | | | | section header. Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better. llvm-svn: 104033 | |||||
* | MC/Mach-O: Remove some FIXMEs. | Daniel Dunbar | 2010-05-18 | 1 | -7/+3 | |
| | | | | llvm-svn: 104032 | |||||
* | MC/Mach-O/x86_64: Darwin's special "signed_N" relocation types should only be | Daniel Dunbar | 2010-05-14 | 1 | -23/+23 | |
| | | | | | | used to replace a normal relocation, not a reference to a GOT entry. llvm-svn: 103789 | |||||
* | MC/Mach-O/x86_64: Fix PCrel adjustment for x86_64, which was using the fixup | Daniel Dunbar | 2010-05-11 | 1 | -1/+2 | |
| | | | | | | offset instead of the fixup address as intended. llvm-svn: 103527 | |||||
* | MC/Mach-O: As Kevin pointed out, 'Address' is really an offset -- rename to ↵ | Daniel Dunbar | 2010-05-11 | 1 | -11/+11 | |
| | | | | | | clarify. llvm-svn: 103526 | |||||
* | MC/Mach-O: Fix a crash on invalid. | Daniel Dunbar | 2010-05-11 | 1 | -1/+4 | |
| | | | | llvm-svn: 103525 | |||||
* | MC/Mach-O: Fix another mismatch with .weak_definition, we shouldn't use a | Daniel Dunbar | 2010-05-10 | 1 | -9/+15 | |
| | | | | | | scattered relocation entry with a .weak_definition. llvm-svn: 103443 | |||||
* | MC/Mach-O: Factor out doesSymbolRequireExternRelocation. | Daniel Dunbar | 2010-05-10 | 1 | -10/+20 | |
| | | | | llvm-svn: 103442 | |||||
* | Fix i386 relocations to Weak Definitions. The relocation entries should be | Kevin Enderby | 2010-05-07 | 1 | -1/+12 | |
| | | | | | | | external and the item to be relocated should not have the address of the symbol added in. llvm-svn: 103302 | |||||
* | MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support for | Daniel Dunbar | 2010-05-05 | 1 | -2/+2 | |
| | | | | | | | writing them. - <rdar://problem/7885351> integrated assembler broken for i386 objc code llvm-svn: 103112 | |||||
* | MC/Mach-O/x86_64: Relocations in debug sections should use local relocations | Daniel Dunbar | 2010-05-05 | 1 | -0/+11 | |
| | | | | | | | when possible. - <rdar://problem/7934873> llvm-svn: 103092 | |||||
* | Various MSVC warning fixes about truncated 64 bit shifts and const pointers ↵ | Benjamin Kramer | 2010-04-08 | 1 | -2/+2 | |
| | | | | | | passed to free. llvm-svn: 100767 | |||||
* | rename llvm::llvm_report_error -> llvm::report_fatal_error | Chris Lattner | 2010-04-07 | 1 | -10/+10 | |
| | | | | llvm-svn: 100709 | |||||
* | MC/Mach-O/x86_64: Support @GOTPCREL on symbols, even for non-PCrel relocations! | Daniel Dunbar | 2010-03-29 | 1 | -2/+9 | |
| | | | | llvm-svn: 99853 | |||||
* | MC/Mach-O: Switch to MCSectionData::getOrdinal. | Daniel Dunbar | 2010-03-25 | 1 | -18/+4 | |
| | | | | llvm-svn: 99504 | |||||
* | Fix -Asserts warning. | Daniel Dunbar | 2010-03-25 | 1 | -2/+1 | |
| | | | | llvm-svn: 99499 |