aboutsummaryrefslogtreecommitdiffstats
path: root/lib/MC/MCParser/ELFAsmParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant semicolons which are null statements.Dmitri Gribenko2012-09-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163547 91177308-0d34-0410-b5e6-96231b3b80d8
* ELF: Add support for the asm .version directive.Benjamin Kramer2012-05-121-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156712 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for gnu_indirect_function.Roman Divacky2011-12-121-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146377 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some ELF directives into ELF asm parser.Jim Grosbach2011-07-251-0/+44
| | | | | | | | | | | | | | | The .local, .hidden, .internal, and .protected are not legal for all supported file formats (in particular, they're invalid for MachO). Move the parsing for them into the ELF assembly parser since that's the format they're for. Similarly, .weak is used by COFF and ELF, but not MachO, so move the parsing to the COFF and ELF asm parsers. Previously, using any of these directives on Darwin would result in an assertion failure in the parser; now we get a diagnostic as we should. rdar://9827089 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135921 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy up. 80 columns.Jim Grosbach2011-07-251-5/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135917 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore r125595 (reverted in r126336) with modifications:Joerg Sonnenberger2011-02-241-1/+3
| | | | | | | | Introduce a variable in the AsmParserExtension whether [] is valid in an expression. If it is true, parse them like (). Enable this for ELF only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126443 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug#9172: Don't use static in file scope, use an attribute on theJoerg Sonnenberger2011-02-221-5/+5
| | | | | | | parser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126225 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for pushsection and popsection. Patch by Joerg Sonnenberger.Rafael Espindola2011-02-161-4/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125629 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle strings in section names the same way as gas:Rafael Espindola2011-01-241-3/+14
| | | | | | | * If the name is a single string, we remove the quotes * If the name starts without a quote, we include any quotes in the name git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124127 91177308-0d34-0410-b5e6-96231b3b80d8
* Delay the creation of eh_frame so that the user can change the defaults.Rafael Espindola2011-01-231-0/+2
| | | | | | Add support for SHT_X86_64_UNWIND. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124059 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove more duplicated code.Rafael Espindola2011-01-231-35/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124056 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove duplicated code.Rafael Espindola2011-01-231-18/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124054 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for @note. Patch by Jörg Sonnenberger.Rafael Espindola2010-12-261-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122568 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor some code to parseSectionFlags and fix the default type of a section.Rafael Espindola2010-11-251-49/+58
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120145 91177308-0d34-0410-b5e6-96231b3b80d8
* Behave a bit more like gnu as and use the symbol (instead of the section)Rafael Espindola2010-11-241-3/+9
| | | | | | for any relocation to a symbol defined in a tls section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120121 91177308-0d34-0410-b5e6-96231b3b80d8
* Parse and record the gnu_unique_object type.Rafael Espindola2010-11-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118980 91177308-0d34-0410-b5e6-96231b3b80d8
* gnu as support both % and @ before types, do the same.Rafael Espindola2010-11-121-10/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118893 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial comdat implementation.Rafael Espindola2010-11-111-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118805 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola2010-11-091-3/+2
| | | | | | earlier. Implicit bool -> int conversions are evil! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118651 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert previous patch. Missed a case.Rafael Espindola2010-11-091-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118645 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove IsExplicit. It was always false.Rafael Espindola2010-11-091-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118639 91177308-0d34-0410-b5e6-96231b3b80d8
* Set default flags for .rodata.Rafael Espindola2010-11-081-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118395 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement .weakref.Rafael Espindola2010-11-011-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117911 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117608 91177308-0d34-0410-b5e6-96231b3b80d8
* Set default type and flags for .init and .fini.Rafael Espindola2010-10-271-1/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117471 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for the .symver directive. This is really ugly, but most of it isRafael Espindola2010-10-271-0/+30
| | | | | | contained in the ELF object writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117448 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for .ident.Rafael Espindola2010-10-261-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117389 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Move ParseDirectiveELFType into ELFAsmParser. COFF uses .type for ↵Michael J. Spencer2010-10-091-1/+49
| | | | | | something else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116142 91177308-0d34-0410-b5e6-96231b3b80d8
* Have ELFAsmParser.cpp use the already parsed "Size" (entry size) when Jan Wen Voung2010-09-301-1/+2
| | | | | | | constructing a section. Test for a few cases also included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115132 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure .text doesn't produce extra alignment.Rafael Espindola2010-09-271-9/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114895 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that names like .note.GNU-stack are accepted as valid section names.Rafael Espindola2010-09-161-2/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114091 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a InitSections method to the streamer interface.Rafael Espindola2010-09-151-3/+11
| | | | | | | | | | | | | | The ELF implementation now creates text, data and bss to match the gnu as behavior. The text streamer still has the old MachO specific behavior since the testsuite checks that it will error when a directive is given before a setting the current section for example. A nice benefit is that -n is not required anymore when producing ELF files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114027 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for leb128 of absolute expressions.Rafael Espindola2010-09-111-23/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113691 91177308-0d34-0410-b5e6-96231b3b80d8
* Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.Benjamin Kramer2010-09-021-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112849 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some more handlers for ELF section directives.Matt Fleming2010-07-201-0/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108928 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/AsmParser: Stop playing unsafe member function pointer calls, this isn'tDaniel Dunbar2010-07-181-12/+12
| | | | | | | | portable enough. - Downside is we now double dispatch through a stub function, but this isn't performance critical. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108661 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/AsmParser: Fix TokError() to accept a Twine.Daniel Dunbar2010-07-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108647 91177308-0d34-0410-b5e6-96231b3b80d8
* Start of .sleb128/.uleb128 parsing support.Eli Friedman2010-07-171-0/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108612 91177308-0d34-0410-b5e6-96231b3b80d8
* Work-in-progress parsing for ELF .section directive.Eli Friedman2010-07-171-5/+113
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108609 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for parsing .size directives for ELF.Eli Friedman2010-07-171-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108606 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/AsmParser: Move ELF specific parser to ELFAsmParser.cpp.Daniel Dunbar2010-07-121-0/+68
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108196 91177308-0d34-0410-b5e6-96231b3b80d8