LLVM
20.0.0git
lib
MC
MCAsmInfoELF.cpp
Go to the documentation of this file.
1
//===- MCAsmInfoELF.cpp - ELF asm properties ------------------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file defines target asm properties related what form asm statements
10
// should take in general on ELF-based targets
11
//
12
//===----------------------------------------------------------------------===//
13
14
#include "
llvm/MC/MCAsmInfoELF.h
"
15
#include "
llvm/BinaryFormat/ELF.h
"
16
#include "
llvm/MC/MCContext.h
"
17
#include "
llvm/MC/MCSectionELF.h
"
18
19
using namespace
llvm
;
20
21
void
MCAsmInfoELF::anchor() {}
22
23
MCSection
*MCAsmInfoELF::getNonexecutableStackSection(
MCContext
&Ctx)
const
{
24
// Solaris doesn't know/doesn't care about .note.GNU-stack sections, so
25
// don't emit them.
26
if
(Ctx.
getTargetTriple
().
isOSSolaris
())
27
return
nullptr
;
28
return
Ctx.
getELFSection
(
".note.GNU-stack"
,
ELF::SHT_PROGBITS
, 0);
29
}
30
31
MCAsmInfoELF::MCAsmInfoELF
() {
32
HasIdentDirective
=
true
;
33
WeakRefDirective
=
"\t.weak\t"
;
34
PrivateGlobalPrefix
=
".L"
;
35
PrivateLabelPrefix
=
".L"
;
36
}
ELF.h
MCAsmInfoELF.h
MCContext.h
MCSectionELF.h
llvm::MCAsmInfoELF::MCAsmInfoELF
MCAsmInfoELF()
Definition:
MCAsmInfoELF.cpp:31
llvm::MCAsmInfo::PrivateGlobalPrefix
StringRef PrivateGlobalPrefix
This prefix is used for globals like constant pool entries that are completely private to the ....
Definition:
MCAsmInfo.h:160
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:390
llvm::MCAsmInfo::PrivateLabelPrefix
StringRef PrivateLabelPrefix
This prefix is used for labels for basic blocks.
Definition:
MCAsmInfo.h:164
llvm::MCAsmInfo::HasIdentDirective
bool HasIdentDirective
True if the target has a .ident directive, this is true for ELF targets.
Definition:
MCAsmInfo.h:379
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:83
llvm::MCContext::getELFSection
MCSectionELF * getELFSection(const Twine &Section, unsigned Type, unsigned Flags)
Definition:
MCContext.h:551
llvm::MCContext::getTargetTriple
const Triple & getTargetTriple() const
Definition:
MCContext.h:400
llvm::MCSection
Instances of this class represent a uniqued identifier for a section in the current translation unit.
Definition:
MCSection.h:36
llvm::Triple::isOSSolaris
bool isOSSolaris() const
Definition:
Triple.h:604
llvm::ELF::SHT_PROGBITS
@ SHT_PROGBITS
Definition:
ELF.h:1090
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
Generated on Sat Dec 21 2024 23:10:08 for LLVM by
1.9.6