| //===- MCAsmInfoELF.cpp - ELF asm properties ------------------------------===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file defines target asm properties related what form asm statements |
| // should take in general on ELF-based targets |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "llvm/MC/MCAsmInfoELF.h" |
| #include "llvm/BinaryFormat/ELF.h" |
| #include "llvm/MC/MCContext.h" |
| #include "llvm/MC/MCSectionELF.h" |
| |
| using namespace llvm; |
| |
| void MCAsmInfoELF::anchor() {} |
| |
| MCSection *MCAsmInfoELF::getNonexecutableStackSection(MCContext &Ctx) const { |
| if (!UsesNonexecutableStackSection) |
| return nullptr; |
| return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS, 0); |
| } |
| |
| MCAsmInfoELF::MCAsmInfoELF() { |
| HasIdentDirective = true; |
| WeakRefDirective = "\t.weak\t"; |
| PrivateGlobalPrefix = ".L"; |
| PrivateLabelPrefix = ".L"; |
| } |