LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
lib
MC
MCAsmInfoELF.cpp
Go to the documentation of this file.
1
//===-- MCAsmInfoELF.cpp - ELF asm properties -------------------*- 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
// 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
"
16
#include "
llvm/MC/MCContext.h
"
17
#include "
llvm/MC/MCSectionELF.h
"
18
#include "
llvm/Support/ELF.h
"
19
using namespace
llvm;
20
21
void
MCAsmInfoELF::anchor() { }
22
23
MCSection
*MCAsmInfoELF::getNonexecutableStackSection(
MCContext
&Ctx)
const
{
24
if
(!
UsesNonexecutableStackSection
)
25
return
nullptr
;
26
return
Ctx.
getELFSection
(
".note.GNU-stack"
,
ELF::SHT_PROGBITS
, 0);
27
}
28
29
MCAsmInfoELF::MCAsmInfoELF
() {
30
HasIdentDirective
=
true
;
31
WeakRefDirective
=
"\t.weak\t"
;
32
PrivateGlobalPrefix
=
".L"
;
33
PrivateLabelPrefix
=
".L"
;
34
UsesNonexecutableStackSection
=
true
;
35
}
llvm::MCSection
Instances of this class represent a uniqued identifier for a section in the current translation unit...
Definition:
MCSection.h:40
MCContext.h
llvm::MCAsmInfo::PrivateLabelPrefix
StringRef PrivateLabelPrefix
This prefix is used for labels for basic blocks.
Definition:
MCAsmInfo.h:124
llvm::MCAsmInfoELF::MCAsmInfoELF
MCAsmInfoELF()
Definition:
MCAsmInfoELF.cpp:29
MCAsmInfoELF.h
llvm::MCAsmInfoELF::UsesNonexecutableStackSection
bool UsesNonexecutableStackSection
Targets which have non-executable stacks by default can set this to false to disable the special sect...
Definition:
MCAsmInfoELF.h:23
MCSectionELF.h
llvm::ELF::SHT_PROGBITS
Definition:
Support/ELF.h:667
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:51
llvm::MCAsmInfo::HasIdentDirective
bool HasIdentDirective
True if the target has a .ident directive, this is true for ELF targets.
Definition:
MCAsmInfo.h:278
ELF.h
llvm::MCAsmInfo::WeakRefDirective
const char * WeakRefDirective
This directive, if non-null, is used to declare a global as being a weak undefined symbol...
Definition:
MCAsmInfo.h:293
llvm::MCContext::getELFSection
MCSectionELF * getELFSection(const Twine &Section, unsigned Type, unsigned Flags)
Definition:
MCContext.h:341
llvm::MCAsmInfo::PrivateGlobalPrefix
StringRef PrivateGlobalPrefix
This prefix is used for globals like constant pool entries that are completely private to the ...
Definition:
MCAsmInfo.h:120
Generated on Wed Mar 8 2017 17:15:51 for LLVM by
1.8.6