| Eugene Zelenko | d3a6c89 | 2017-02-11 00:27:28 +0000 | [diff] [blame] | 1 | //===- MCAsmInfoELF.cpp - ELF asm properties ------------------------------===// | 
| Rafael Espindola | 43c4e24 | 2013-10-16 01:34:32 +0000 | [diff] [blame] | 2 | // | 
|  | 3 | //                     The LLVM Compiler Infrastructure | 
|  | 4 | // | 
|  | 5 | // This file is distributed under the University of Illinois Open Source | 
|  | 6 | // License. See LICENSE.TXT for details. | 
|  | 7 | // | 
|  | 8 | //===----------------------------------------------------------------------===// | 
|  | 9 | // | 
|  | 10 | // This file defines target asm properties related what form asm statements | 
|  | 11 | // should take in general on ELF-based targets | 
|  | 12 | // | 
|  | 13 | //===----------------------------------------------------------------------===// | 
|  | 14 |  | 
|  | 15 | #include "llvm/MC/MCAsmInfoELF.h" | 
| Zachary Turner | 264b5d9 | 2017-06-07 03:48:56 +0000 | [diff] [blame] | 16 | #include "llvm/BinaryFormat/ELF.h" | 
| Rafael Espindola | ad33dd2 | 2014-10-15 15:44:16 +0000 | [diff] [blame] | 17 | #include "llvm/MC/MCContext.h" | 
|  | 18 | #include "llvm/MC/MCSectionELF.h" | 
| Eugene Zelenko | d3a6c89 | 2017-02-11 00:27:28 +0000 | [diff] [blame] | 19 |  | 
| Rafael Espindola | 43c4e24 | 2013-10-16 01:34:32 +0000 | [diff] [blame] | 20 | using namespace llvm; | 
|  | 21 |  | 
| Eugene Zelenko | d3a6c89 | 2017-02-11 00:27:28 +0000 | [diff] [blame] | 22 | void MCAsmInfoELF::anchor() {} | 
| Rafael Espindola | 43c4e24 | 2013-10-16 01:34:32 +0000 | [diff] [blame] | 23 |  | 
| Rafael Espindola | 0709a7b | 2015-05-21 19:20:38 +0000 | [diff] [blame] | 24 | MCSection *MCAsmInfoELF::getNonexecutableStackSection(MCContext &Ctx) const { | 
| Dan Gohman | 2f301f3 | 2016-01-15 23:59:13 +0000 | [diff] [blame] | 25 | if (!UsesNonexecutableStackSection) | 
|  | 26 | return nullptr; | 
| Rafael Espindola | ba31e27 | 2015-01-29 17:33:21 +0000 | [diff] [blame] | 27 | return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS, 0); | 
| Rafael Espindola | ad33dd2 | 2014-10-15 15:44:16 +0000 | [diff] [blame] | 28 | } | 
|  | 29 |  | 
| Rafael Espindola | 43c4e24 | 2013-10-16 01:34:32 +0000 | [diff] [blame] | 30 | MCAsmInfoELF::MCAsmInfoELF() { | 
|  | 31 | HasIdentDirective = true; | 
|  | 32 | WeakRefDirective = "\t.weak\t"; | 
| Rafael Espindola | 5113d16 | 2013-12-02 23:39:26 +0000 | [diff] [blame] | 33 | PrivateGlobalPrefix = ".L"; | 
| Matt Arsenault | 4e27343 | 2014-12-04 00:06:57 +0000 | [diff] [blame] | 34 | PrivateLabelPrefix = ".L"; | 
| Rafael Espindola | 43c4e24 | 2013-10-16 01:34:32 +0000 | [diff] [blame] | 35 | } |