1 //===- Options.h ------------------------------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_TOOLS_LLVM_DWARFUTIL_OPTIONS_H
10 #define LLVM_TOOLS_LLVM_DWARFUTIL_OPTIONS_H
18 /// The kind of tombstone value.
19 enum class TombstoneKind
{
20 BFD
, /// 0/[1:1]. Bfd default.
21 MaxPC
, /// -1/-2. Assumed to match with
22 /// http://www.dwarfstd.org/ShowIssue.php?issue=200609.1.
23 Universal
, /// both: BFD + MaxPC
24 Exec
, /// match with address range of executable sections.
27 /// The kind of accelerator table.
28 enum class DwarfUtilAccelKind
: uint8_t {
30 DWARF
// DWARFv5: .debug_names
34 std::string InputFileName
;
35 std::string OutputFileName
;
36 bool DoGarbageCollection
= false;
37 bool DoODRDeduplication
= false;
38 bool BuildSeparateDebugFile
= false;
39 TombstoneKind Tombstone
= TombstoneKind::Universal
;
43 bool UseDWARFLinkerParallel
= false;
44 DwarfUtilAccelKind AccelTableKind
= DwarfUtilAccelKind::None
;
46 std::string
getSeparateDebugFileName() const {
47 return OutputFileName
+ ".debug";
51 } // namespace dwarfutil
54 #endif // LLVM_TOOLS_LLVM_DWARFUTIL_OPTIONS_H