aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-dwarfutil/Options.td
blob: 26b9ac678b6a5e208128d5525f990bdc430f2efb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
include "llvm/Option/OptParser.td"

multiclass BB<string name, string help1, string help2> {
  def NAME: Flag<["--"], name>, HelpText<help1>;
  def no_ # NAME: Flag<["--"], "no-" # name>, HelpText<help2>;
}

def build_accelerator: Separate<["--", "-"], "build-accelerator">,
  MetaVarName<"[none,DWARF]">,
  HelpText<"Build accelerator tables(default: none)\n"
  "    =none - Do not build accelerators\n"
  "    =DWARF - .debug_names are generated for all DWARF versions\n"
  >;
def: Joined<["--", "-"], "build-accelerator=">, Alias<build_accelerator>;

def help : Flag<["--"], "help">,
  HelpText<"Prints this help output">;

def h : Flag<["-"], "h">,
  Alias<help>,
  HelpText<"Alias for --help">;

def linker: Separate<["--", "-"], "linker">,
  MetaVarName<"<DWARF linker type>">,
  HelpText<"Specify the desired type of DWARF linker. Defaults to 'apple'">;
def: Joined<["--", "-"], "linker=">, Alias<linker>;

defm odr_deduplication : BB<"odr-deduplication",
  "Do ODR deduplication for debug types(default)",
  "Don`t do ODR deduplication for debug types">;

def odr : Flag<["--"], "odr">,
  Alias<odr_deduplication>,
  HelpText<"Alias for --odr-deduplication">;

def no_odr : Flag<["--"], "no-odr">,
  Alias<no_odr_deduplication>,
  HelpText<"Alias for --no-odr-deduplication">;

defm garbage_collection : BB<"garbage-collection",
  "Do garbage collection for debug info(default)",
  "Don`t do garbage collection for debug info">;

defm separate_debug_file : BB<"separate-debug-file",
  "Create two output files: file w/o debug tables and file with debug tables",
  "Create single output file, containing debug tables(default)">;

def tombstone: Separate<["--", "-"], "tombstone">,
  MetaVarName<"[bfd,maxpc,exec,universal]">,
  HelpText<"Tombstone value used as a marker of invalid address(default: universal)\n"
  "    =bfd - Zero for all addresses and [1,1] for DWARF v4 (or less) address ranges and exec\n"
  "    =maxpc - Minus 1 for all addresses and minus 2 for DWARF v4 (or less) address ranges\n"
  "    =exec - Match with address ranges of executable sections\n"
  "    =universal - Both: bfd and maxpc"
  >;
def: Joined<["--", "-"], "tombstone=">, Alias<tombstone>;

def threads: Separate<["--", "-"], "num-threads">,
  MetaVarName<"<threads>">,
  HelpText<"Number of available threads for multi-threaded execution. "
  "Defaults to the number of cores on the current machine">;

def: Separate<["-"], "j">,
  Alias<threads>,
  HelpText<"Alias for --num-threads">;

def verbose : Flag<["--"], "verbose">,
  HelpText<"Enable verbose logging">;

def verify : Flag<["--"], "verify">,
  HelpText<"Run the DWARF verifier on the resulting debug info">;

def version : Flag<["--"], "version">,
  HelpText<"Print the version and exit">;

def V : Flag<["-"], "V">,
  Alias<version>,
  HelpText<"Alias for --version">;