summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCSectionELF.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Bring r252305 back with a test fix.Rafael Espindola2015-11-061-0/+2
| | | | | | | | | | We now create the .eh_frame section early, just like every other special section. This means that the special flags are visible in code that explicitly asks for ".eh_frame". llvm-svn: 252313
* MCAsmInfo: Allow targets to specify when the .section directive should be ↵Tom Stellard2015-09-251-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | omitted Summary: The default behavior is to omit the .section directive for .text, .data, and sometimes .bss, but some targets may want to omit this directive for other sections too. The AMDGPU backend will uses this to emit a simplified syntax for section switches. For example if the section directive is not omitted (current behavior), section switches to .hsatext will be printed like this: .section .hsatext,#alloc,#execinstr,#write This is actually wrong, because .hsatext has some custom STT_* flags, which MC doesn't know how to print or parse. If the section directive is omitted (made possible by this commit), section switches will be printed like this: .hsatext The motivation for this patch is to make it possible to emit sections with custom STT_* flags without having to teach MC about all the target specific STT_* flags. Reviewers: rafael, grosbach Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12423 llvm-svn: 248618
* MC: Add target hook to control symbol quotingMatt Arsenault2015-06-091-4/+9
| | | | llvm-svn: 239370
* Use a comma after the unique keyword.Rafael Espindola2015-04-061-1/+1
| | | | | | | | H.J. Lu noted that all .section options are separated by a comma. This patch changes the syntax of unique to require one. llvm-svn: 234174
* Implement unique sections with an unique ID.Rafael Espindola2015-04-041-3/+3
| | | | | | | | | | | This allows the compiler/assembly programmer to switch back to a section. This in turn fixes the bootstrap failure on powerpc (tested on gcc110) without changing the ppc codegen at all. I will try to cleanup the various getELFSection overloads in a followup patch. Just using a default argument now would lead to ambiguities. llvm-svn: 234099
* Add r228980 back.Rafael Espindola2015-02-171-0/+7
| | | | | | | | | | Add support for having multiple sections with the same name and comdat. Using this in combination with -ffunction-sections allows LLVM to output a .o file with mulitple sections named .text. This saves space by avoiding long unique names of the form .text.<C++ mangled name>. llvm-svn: 229541
* Revert a series of commits starting at r228886 which is triggering someChandler Carruth2015-02-131-7/+0
| | | | | | | | | | | | | | | | regressions for LLDB on Linux. Rafael indicated on lldb-dev that we should just go ahead and revert these but that he wasn't at a computer. The patches backed out are as follows: r228980: Add support for having multiple sections with the name and ... r228889: Invert the section relocation map. r228888: Use the existing SymbolTableIndex intsead of doing a lookup. r228886: Create the Section -> Rel Section map when it is first needed. These patches look pretty nice to me, so hoping its not too hard to get them re-instated. =D llvm-svn: 229080
* Add support for having multiple sections with the same name and comdat.Rafael Espindola2015-02-121-0/+7
| | | | | | | | Using this in combination with -ffunction-sections allows LLVM to output a .o file with mulitple sections named .text. This saves space by avoiding long unique names of the form .text.<C++ mangled name>. llvm-svn: 228980
* Compute the ELF SectionKind from the flags.Rafael Espindola2015-01-291-10/+0
| | | | | | | | | | | | Any code creating an MCSectionELF knows ELF and already provides the flags. SectionKind is an abstraction used by common code that uses a plain MCSection. Use the flags to compute the SectionKind. This removes a lot of guessing and boilerplate from the MCSectionELF construction. llvm-svn: 227476
* delete function name from commentSanjay Patel2014-10-091-2/+2
| | | | llvm-svn: 219443
* Remove AllowQuotesInName and friends from MCAsmInfo.Rafael Espindola2013-11-131-23/+30
| | | | | | | | | | | Accepting quotes is a property of an assembler, not of an object file. For example, ELF can support any names for sections and symbols, but the gnu assembler only accepts quotes in some contexts and llvm-mc in a few more. LLVM should not produce different symbols based on a guess about which assembler will be reading the code it is printing. llvm-svn: 194575
* ELF: Add support for the exclude section bit for gas compat.Benjamin Kramer2013-09-151-0/+4
| | | | llvm-svn: 190769
* Add support for subsections to the ELF assembler. Fixes PR8717.Peter Collingbourne2013-04-171-2/+10
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D598 llvm-svn: 179725
* Tidy up. Trailing whitespace.Jim Grosbach2012-05-111-6/+6
| | | | llvm-svn: 156602
* Be nice to Xcore and the XMOS assembler and avoid quoting section namesJoerg Sonnenberger2011-03-041-12/+18
| | | | | | that contain only letters, digits and the characters "_" and ".". llvm-svn: 127028
* Bug#9033: For the ELF assembler output, always quote the section name.Joerg Sonnenberger2011-03-031-2/+16
| | | | llvm-svn: 126963
* Switch llvm to using comdats. For now always use groups with a singleRafael Espindola2011-02-141-0/+4
| | | | | | section. llvm-svn: 125526
* Move broken HasCommonSymbols to ELFWriter.cpp.Rafael Espindola2011-02-141-11/+0
| | | | llvm-svn: 125490
* Remove more duplicated code.Rafael Espindola2011-01-231-15/+15
| | | | llvm-svn: 124056
* Remove duplicated code.Rafael Espindola2011-01-231-7/+9
| | | | llvm-svn: 124054
* Add support for @note. Patch by Jörg Sonnenberger.Rafael Espindola2010-12-261-0/+2
| | | | llvm-svn: 122568
* make isVirtualSection a virtual method on MCSection. Chris' suggestion.Rafael Espindola2010-11-171-0/+4
| | | | llvm-svn: 119547
* Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola2010-11-091-32/+23
| | | | | | earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651
* Revert previous patch. Missed a case.Rafael Espindola2010-11-091-22/+32
| | | | llvm-svn: 118645
* Remove IsExplicit. It was always false.Rafael Espindola2010-11-091-32/+22
| | | | llvm-svn: 118639
* Add hook in MCSection to decide when to use "optimized nops", for eachJan Wen Voung2010-10-041-0/+4
| | | | | | | section kind. Previously, optimized nops were only used for MachO. Also added tests for ELF and COFF. llvm-svn: 115523
* Move logic of determining ELF entsize from the .s printer to initializationJan Wen Voung2010-09-301-12/+11
| | | | | | | time. That way, the EntrySize field is initialized for other code paths, namely, the .ll -> .o code path. llvm-svn: 115141
* move elf section uniquing to MCContext. Along the wayChris Lattner2010-04-081-57/+57
| | | | | | merge XCore's section into MCSectionELF llvm-svn: 100812
* Simplify some uses of str(n)cmp with StringRef.Benjamin Kramer2010-01-221-7/+5
| | | | llvm-svn: 94189
* tidyChris Lattner2010-01-131-4/+3
| | | | llvm-svn: 93352
* Pass StringRef by value.Daniel Dunbar2009-11-061-1/+1
| | | | llvm-svn: 86251
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-7/+7
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-3/+3
| | | | llvm-svn: 79763
* add support for target-specific ELF section flags, add a new MCSectionXCoreChris Lattner2009-08-151-4/+6
| | | | | | | class which represents the XCore cp/dp section flags. No functionality change yet. llvm-svn: 79077
* *try* to use a better name to describe how common symbols are marked on the ↵Bruno Cardoso Lopes2009-08-141-2/+4
| | | | | | elf object file. llvm-svn: 79029
* Fix MCSectionELF::ShouldOmitSectionDirective's matching of .data andDan Gohman2009-08-131-3/+3
| | | | | | | friends so that it doesn't match sections like .data.rel.local, which should not be emitted as section directives. llvm-svn: 78963
* Remove HasCrazyBSS and add a flag in TAI to indicate that '.section' Bruno Cardoso Lopes2009-08-131-9/+10
| | | | | | must be emitted for PowerPC-Linux '.bss' section llvm-svn: 78958
* Add a method to return if the ELF section contains only common symbols!Bruno Cardoso Lopes2009-08-131-0/+10
| | | | llvm-svn: 78937
* Change MCSectionELF to represent a section semantically instead ofBruno Cardoso Lopes2009-08-131-0/+123
syntactically as a string, very similiar to what Chris did with MachO. The parsing support and validation is not introduced yet. llvm-svn: 78890
OpenPOWER on IntegriCloud