1251607Sdim//===-- SystemZMCAsmInfo.cpp - SystemZ asm properties ---------------------===//
2251607Sdim//
3251607Sdim//                     The LLVM Compiler Infrastructure
4251607Sdim//
5251607Sdim// This file is distributed under the University of Illinois Open Source
6251607Sdim// License. See LICENSE.TXT for details.
7251607Sdim//
8251607Sdim//===----------------------------------------------------------------------===//
9251607Sdim
10251607Sdim#include "SystemZMCAsmInfo.h"
11251607Sdim#include "llvm/MC/MCContext.h"
12251607Sdim#include "llvm/MC/MCSectionELF.h"
13251607Sdim
14251607Sdimusing namespace llvm;
15251607Sdim
16263508SdimSystemZMCAsmInfo::SystemZMCAsmInfo(StringRef TT) {
17251607Sdim  PointerSize = 8;
18251607Sdim  CalleeSaveStackSlotSize = 8;
19251607Sdim  IsLittleEndian = false;
20251607Sdim
21251607Sdim  CommentString = "#";
22251607Sdim  GlobalPrefix = "";
23251607Sdim  PrivateGlobalPrefix = ".L";
24251607Sdim  ZeroDirective = "\t.space\t";
25251607Sdim  Data64bitsDirective = "\t.quad\t";
26251607Sdim  UsesELFSectionDirectiveForBSS = true;
27251607Sdim  SupportsDebugInformation = true;
28251607Sdim  HasLEB128 = true;
29251607Sdim  ExceptionsType = ExceptionHandling::DwarfCFI;
30251607Sdim}
31251607Sdim
32251607Sdimconst MCSection *
33251607SdimSystemZMCAsmInfo::getNonexecutableStackSection(MCContext &Ctx) const {
34251607Sdim  return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS,
35251607Sdim                           0, SectionKind::getMetadata());
36251607Sdim}
37