mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 19:26:05 +00:00

This patch creates skeleton implementation for the DWARFLinkerParallel. It also integrates DWARFLinkerParallel into dsymutil and llvm-dwarfutil, so that empty DWARFLinker::link() can be called. To do this new command line option is added "--linker apple/llvm". Additionally it changes existing DWARFLinker interfaces/implementations to be compatible: use Error for error reporting for the DWARFStreamer, make DWARFFile to owner of referenced resources, other small refactorings. Differential Revision: https://reviews.llvm.org/D147952
79 lines
2.8 KiB
TableGen
79 lines
2.8 KiB
TableGen
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">;
|