summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for files with more than 65280 sections. No testcase sinceRafael Espindola2010-10-311-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 withRafael Espindola2010-10-291-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
* Improvements to .section parsing:Rafael Espindola2010-10-281-10/+38
| | | | | | | | | | * If we have a M or a G, reject sections without the type * Only parse the flag specific arguments if we have M or G * Parse the corresponding arguments for M and G We ignore the G arguments and flag for now. llvm-svn: 117608
* Add support for the .string directive.Rafael Espindola2010-10-281-8/+10
| | | | llvm-svn: 117592
* Defined weak symbols should have non-zero value.Rafael Espindola2010-10-281-4/+3
| | | | llvm-svn: 117585
* Fix relocations with renamed symbols.Rafael Espindola2010-10-281-5/+6
| | | | llvm-svn: 117575
* Aliases defined with .symver should copy the binding of the symbols they alias.Rafael Espindola2010-10-281-6/+21
| | | | | | | Move the existing patching for undefined symbols so that all the patching is done in the same function. llvm-svn: 117570
* Use the IDVal directly as there's no need to convert to std::string.Roman Divacky2010-10-281-2/+2
| | | | | | Pointed out by Chris! llvm-svn: 117557
* Implement .equ directive as a synonym to .set.Roman Divacky2010-10-281-6/+6
| | | | llvm-svn: 117553
* Implement R_X86_64_DTPOFF32.Rafael Espindola2010-10-281-0/+3
| | | | llvm-svn: 117548
* Implement TLSLD.Rafael Espindola2010-10-282-0/+6
| | | | llvm-svn: 117547
* Implement DTPOFF.Rafael Espindola2010-10-282-0/+6
| | | | llvm-svn: 117546
* Implement TLSLDM.Rafael Espindola2010-10-282-0/+6
| | | | llvm-svn: 117544
* Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind.Rafael Espindola2010-10-282-15/+18
| | | | 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/+17
| | | | llvm-svn: 117494
* Implement R_X86_64_GOTTPOFF, R_X86_64_TLSGD and R_X86_64_TPOFF32.Rafael Espindola2010-10-271-0/+12
| | | | llvm-svn: 117481
* Replace pointer arithmetic with StringRef::substr.Benjamin Kramer2010-10-271-6/+5
| | | | llvm-svn: 117477
* Set default type and flags for .init and .fini.Rafael Espindola2010-10-271-1/+9
| | | | llvm-svn: 117471
* Produce an error for an invalid use of .symver.Rafael Espindola2010-10-271-0/+5
| | | | llvm-svn: 117462
* Symbols defined as the difference of other two end up in the ABS section.Rafael Espindola2010-10-271-5/+2
| | | | llvm-svn: 117451
* Add support for the .symver directive. This is really ugly, but most of it isRafael Espindola2010-10-272-14/+86
| | | | | | contained in the ELF object writer. llvm-svn: 117448
* Move more logic to isInSymtab and simplify.Rafael Espindola2010-10-271-21/+19
| | | | llvm-svn: 117447
* Add support for .ident.Rafael Espindola2010-10-261-0/+32
| | | | llvm-svn: 117389
* MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.Daniel Dunbar2010-10-251-12/+14
| | | | llvm-svn: 117299
* MC/AsmLexer: Fix bug in source location for Slash token.Daniel Dunbar2010-10-251-1/+1
| | | | llvm-svn: 117298
* Add support for emitting ARM file attributes.Rafael Espindola2010-10-251-3/+1
| | | | llvm-svn: 117275
* Add X86::reloc_global_offset_table and use it to have a single place whereRafael Espindola2010-10-241-4/+5
| | | | | | we check for _GLOBAL_OFFSET_TABLE_. llvm-svn: 117241
* Make some symbols static, move classes into anonymous namespaces.Benjamin Kramer2010-10-221-13/+10
| | | | llvm-svn: 117111
* Making the e_machine configurable by the target backend in ELFObjectWriter.Wesley Peck2010-10-221-5/+9
| | | | llvm-svn: 117099
* Trailing whitespace.Jim Grosbach2010-10-211-25/+25
| | | | llvm-svn: 117073
* Fix Warnings.Michael J. Spencer2010-10-211-1/+1
| | | | llvm-svn: 117062
* Do not recurse into symbol refs that have a variant kind. This prevents usRafael Espindola2010-10-211-1/+1
| | | | | | from losing the variant when producing a relocation on an alias. llvm-svn: 117037
* Remove remaining uses of ATTRIBUTE_UNUSED on variables, and delete threeChandler Carruth2010-10-201-2/+0
| | | | | | #includes in the process. llvm-svn: 116919
* Small cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_.Rafael Espindola2010-10-191-7/+11
| | | | llvm-svn: 116848
* Fix spelling.Bill Wendling2010-10-191-1/+1
| | | | llvm-svn: 116804
* Move the definition of this to the source file to anchor the vtable.Chandler Carruth2010-10-191-0/+3
| | | | llvm-svn: 116779
* Implement R_386_GOT32.Rafael Espindola2010-10-181-0/+3
| | | | llvm-svn: 116744
* Relocate with .bss instead of using the symbol. Matches gas behavior.Rafael Espindola2010-10-181-0/+3
| | | | llvm-svn: 116741
* Reenable assert.Rafael Espindola2010-10-181-1/+2
| | | | llvm-svn: 116738
* Produce ELF::R_386_GOTPC relocations.Rafael Espindola2010-10-181-1/+6
| | | | llvm-svn: 116728
* Make the bots happy.Rafael Espindola2010-10-181-1/+3
| | | | llvm-svn: 116719
* Produce a R_386_PLT32 when needed. Moved the default cases of switches to theRafael Espindola2010-10-181-7/+13
| | | | | | start for consistency. llvm-svn: 116715
* Handle GOTOFF correctly on i386.Rafael Espindola2010-10-181-5/+15
| | | | llvm-svn: 116711
* Fix a typo and silence unused variable warnings in -Asserts build.Benjamin Kramer2010-10-171-4/+2
| | | | llvm-svn: 116685
* Add a MCObjectFormat class so that code common to all targets that use aRafael Espindola2010-10-165-44/+76
| | | | | | | | | | | | single object format can be shared. This also adds support for mov zed+(bar-foo), %eax on ELF and COFF targets. llvm-svn: 116675
* MC-COFF: Add support for default-null weak externals.Michael J. Spencer2010-10-162-48/+62
| | | | llvm-svn: 116666
* MC/AsmParser: Report .stabs directive as unsupported.Daniel Dunbar2010-10-161-0/+9
| | | | llvm-svn: 116659
* Refactor alias handling to AliasedSymbol.Rafael Espindola2010-10-151-13/+15
| | | | llvm-svn: 116600
* Refactor code a bit and avoid creating unnecessary entries in the stringRafael Espindola2010-10-151-19/+19
| | | | | | map. llvm-svn: 116579
* Remove some code duplication.Rafael Espindola2010-10-141-49/+18
| | | | llvm-svn: 116484
OpenPOWER on IntegriCloud