1 //===- llvm/MC/MCAsmInfoELF.h - ELF Asm info --------------------*- C++ -*-===// 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 #ifndef LLVM_MC_MCASMINFOELF_H 11 #define LLVM_MC_MCASMINFOELF_H 12 13 #include "llvm/MC/MCAsmInfo.h" 14 15 namespace llvm { 16 17 class MCAsmInfoELF : public MCAsmInfo { 18 virtual void anchor(); 19 MCSection *getNonexecutableStackSection(MCContext &Ctx) const final; 20 21 protected: 22 /// Targets which have non-executable stacks by default can set this to false 23 /// to disable the special section which requests a non-executable stack. 24 bool UsesNonexecutableStackSection = true; 25 26 MCAsmInfoELF(); 27 }; 28 29 } // end namespace llvm 30 31 #endif // LLVM_MC_MCASMINFOELF_H 32