Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix the symbol index of weak references. Also make RecordRelocation a bit | Rafael Espindola | 2010-11-11 | 1 | -22/+12 | |
| | | | | | | | easier to read by having const references to the symbol, aliased symbol and renamed symbol. llvm-svn: 118793 | |||||
* | Remove some explicit arguments to getELFSection. This is | Rafael Espindola | 2010-11-11 | 1 | -6/+4 | |
| | | | | | | a leftover from the removal of isExplicit. llvm-svn: 118774 | |||||
* | Factor some code into WriteSection. | Rafael Espindola | 2010-11-10 | 1 | -62/+72 | |
| | | | | llvm-svn: 118733 | |||||
* | Update the section index map after we add the medatada sections. | Rafael Espindola | 2010-11-10 | 1 | -0/+4 | |
| | | | | llvm-svn: 118728 | |||||
* | Use SectionIndexMap in WriteSymbolTable to make it a little less brittle. | Rafael Espindola | 2010-11-10 | 1 | -16/+17 | |
| | | | | llvm-svn: 118725 | |||||
* | Factor some code into ComputeIndexMap. | Rafael Espindola | 2010-11-10 | 1 | -14/+28 | |
| | | | | llvm-svn: 118722 | |||||
* | Change the String<size> methods to take a fragment instead of a buffer. | Rafael Espindola | 2010-11-10 | 1 | -77/+40 | |
| | | | | llvm-svn: 118709 | |||||
* | Use MCSectionELF in places we know we have an ELF section. | Rafael Espindola | 2010-11-10 | 1 | -6/+6 | |
| | | | | llvm-svn: 118699 | |||||
* | Fixed version of 118639 with an extra assert to catch similar problems | Rafael Espindola | 2010-11-09 | 1 | -3/+3 | |
| | | | | | | earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651 | |||||
* | Revert previous patch. Missed a case. | Rafael Espindola | 2010-11-09 | 1 | -3/+3 | |
| | | | | llvm-svn: 118645 | |||||
* | Remove IsExplicit. It was always false. | Rafael Espindola | 2010-11-09 | 1 | -3/+3 | |
| | | | | llvm-svn: 118639 | |||||
* | Implement .weakref. | Rafael Espindola | 2010-11-01 | 1 | -2/+15 | |
| | | | | llvm-svn: 117911 | |||||
* | Add support for files with more than 65280 sections. No testcase since | Rafael Espindola | 2010-10-31 | 1 | -42/+109 | |
| | | | | | | it would be a bit too big :-) llvm-svn: 117849 | |||||
* | Be more strict on when we produce an undefined reference. In gas a file with | Rafael Espindola | 2010-10-29 | 1 | -1/+4 | |
| | | | | | | | | | | | | | | | | | | | | | | | just .type foo,@object will produce an undefined reference to foo. On the other hand, a file with just .weakref bar, foo will not. It is somewhat hard to support both in MC since both statements should create the symbols. It should be possible if we really need to by adding to the flags, but hopefully that is not necessary. With this patch we do not produce a undefined reference in any of those cases. The assembly file needs an actual use for the undefined reference to be present. This is in preparation for a patch implementing .weakref. llvm-svn: 117735 | |||||
* | Defined weak symbols should have non-zero value. | Rafael Espindola | 2010-10-28 | 1 | -4/+3 | |
| | | | | llvm-svn: 117585 | |||||
* | Fix relocations with renamed symbols. | Rafael Espindola | 2010-10-28 | 1 | -5/+6 | |
| | | | | llvm-svn: 117575 | |||||
* | Aliases defined with .symver should copy the binding of the symbols they alias. | Rafael Espindola | 2010-10-28 | 1 | -6/+21 | |
| | | | | | | | Move the existing patching for undefined symbols so that all the patching is done in the same function. llvm-svn: 117570 | |||||
* | Implement R_X86_64_DTPOFF32. | Rafael Espindola | 2010-10-28 | 1 | -0/+3 | |
| | | | | llvm-svn: 117548 | |||||
* | Implement TLSLD. | Rafael Espindola | 2010-10-28 | 1 | -0/+4 | |
| | | | | llvm-svn: 117547 | |||||
* | Implement DTPOFF. | Rafael Espindola | 2010-10-28 | 1 | -0/+4 | |
| | | | | llvm-svn: 117546 | |||||
* | Implement TLSLDM. | Rafael Espindola | 2010-10-28 | 1 | -0/+4 | |
| | | | | llvm-svn: 117544 | |||||
* | Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind. | Rafael Espindola | 2010-10-28 | 1 | -15/+16 | |
| | | | | 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 Espindola | 2010-10-27 | 1 | -0/+17 | |
| | | | | llvm-svn: 117494 | |||||
* | Implement R_X86_64_GOTTPOFF, R_X86_64_TLSGD and R_X86_64_TPOFF32. | Rafael Espindola | 2010-10-27 | 1 | -0/+12 | |
| | | | | llvm-svn: 117481 | |||||
* | Replace pointer arithmetic with StringRef::substr. | Benjamin Kramer | 2010-10-27 | 1 | -6/+5 | |
| | | | | llvm-svn: 117477 | |||||
* | Produce an error for an invalid use of .symver. | Rafael Espindola | 2010-10-27 | 1 | -0/+5 | |
| | | | | llvm-svn: 117462 | |||||
* | Symbols defined as the difference of other two end up in the ABS section. | Rafael Espindola | 2010-10-27 | 1 | -5/+2 | |
| | | | | llvm-svn: 117451 | |||||
* | Add support for the .symver directive. This is really ugly, but most of it is | Rafael Espindola | 2010-10-27 | 1 | -14/+56 | |
| | | | | | | contained in the ELF object writer. llvm-svn: 117448 | |||||
* | Move more logic to isInSymtab and simplify. | Rafael Espindola | 2010-10-27 | 1 | -21/+19 | |
| | | | | llvm-svn: 117447 | |||||
* | 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 |