
This reverts commit ad36e4284d66c3609ef8675ef02ff1844bc1951d, fixing a single uninitialized bit (which cannot be detected with Address Sanitizer). This PR adds support for the llvm-mc command-line flag "--gsframe" and adds ".sframe" to the legal values passed ".cfi_section". It plumbs the option through the cfi handling code a fair amount. Code to support actual section generation follows in a future PR. These options match the gnu-assembler's support syntax for sframes, on both the command line and in assembly files. First in a series of changes that will allow llvm-mc to produce sframe .cfi sections. For more information about sframes, see https://sourceware.org/binutils/docs-2.44/sframe-spec.html and the llvm-RFC here: https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900
32 lines
1.2 KiB
C++
32 lines
1.2 KiB
C++
//===- lib/MC/MCTargetOptions.cpp - MC Target Options ---------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/MC/MCTargetOptions.h"
|
|
#include "llvm/ADT/StringRef.h"
|
|
|
|
using namespace llvm;
|
|
|
|
MCTargetOptions::MCTargetOptions()
|
|
: MCRelaxAll(false), MCNoExecStack(false), MCFatalWarnings(false),
|
|
MCNoWarn(false), MCNoDeprecatedWarn(false), MCNoTypeCheck(false),
|
|
MCSaveTempLabels(false), MCIncrementalLinkerCompatible(false),
|
|
FDPIC(false), ShowMCEncoding(false), ShowMCInst(false), AsmVerbose(false),
|
|
PreserveAsmComments(true), Dwarf64(false),
|
|
EmitDwarfUnwind(EmitDwarfUnwindType::Default),
|
|
MCUseDwarfDirectory(DefaultDwarfDirectory),
|
|
EmitCompactUnwindNonCanonical(false), EmitSFrameUnwind(false),
|
|
PPCUseFullRegisterNames(false) {}
|
|
|
|
StringRef MCTargetOptions::getABIName() const {
|
|
return ABIName;
|
|
}
|
|
|
|
StringRef MCTargetOptions::getAssemblyLanguage() const {
|
|
return AssemblyLanguage;
|
|
}
|