109467b48Spatrickinclude "CommonOpts.td" 209467b48Spatrick 309467b48Spatrickdefm binary_architecture 409467b48Spatrick : Eq<"binary-architecture", "Ignored for compatibility">; 509467b48Spatrickdef B : JoinedOrSeparate<["-"], "B">, 609467b48Spatrick Alias<binary_architecture>, 709467b48Spatrick HelpText<"Alias for --binary-architecture">; 809467b48Spatrick 909467b48Spatrickdefm target : Eq<"target", "Format of the input and output file">, 1009467b48Spatrick Values<"binary">; 1109467b48Spatrickdef F : JoinedOrSeparate<["-"], "F">, 1209467b48Spatrick Alias<target>, 1309467b48Spatrick HelpText<"Alias for --target">; 1409467b48Spatrick 1509467b48Spatrickdefm input_target : Eq<"input-target", "Format of the input file">, 1609467b48Spatrick Values<"binary">; 1709467b48Spatrickdef I : JoinedOrSeparate<["-"], "I">, 1809467b48Spatrick Alias<input_target>, 1909467b48Spatrick HelpText<"Alias for --input-target">; 2009467b48Spatrick 2109467b48Spatrickdefm output_target : Eq<"output-target", "Format of the output file">, 2209467b48Spatrick Values<"binary">; 2309467b48Spatrickdef O : JoinedOrSeparate<["-"], "O">, 2409467b48Spatrick Alias<output_target>, 2509467b48Spatrick HelpText<"Alias for --output-target">; 2609467b48Spatrick 2709467b48Spatrickdefm new_symbol_visibility : Eq<"new-symbol-visibility", "Visibility of " 2809467b48Spatrick "symbols generated for binary input or added" 2909467b48Spatrick " with --add-symbol unless otherwise" 3009467b48Spatrick " specified. The default value is 'default'.">; 3109467b48Spatrick 32*d415bd75Srobertdef compress_debug_sections 3309467b48Spatrick : Joined<["--"], "compress-debug-sections=">, 34*d415bd75Srobert MetaVarName<"format">, 35*d415bd75Srobert HelpText<"Compress DWARF debug sections using specified format. Supported " 36*d415bd75Srobert "formats: zlib, zstd. Select zlib if <format> is omitted">; 37*d415bd75Srobertdef : Flag<["--"], "compress-debug-sections">, Alias<compress_debug_sections>, 38*d415bd75Srobert AliasArgs<["zlib"]>; 3909467b48Spatrickdef decompress_debug_sections : Flag<["--"], "decompress-debug-sections">, 4009467b48Spatrick HelpText<"Decompress DWARF debug sections.">; 4109467b48Spatrickdefm split_dwo 4209467b48Spatrick : Eq<"split-dwo", "Equivalent to extract-dwo on the input file to " 4309467b48Spatrick "<dwo-file>, then strip-dwo on the input file">, 4409467b48Spatrick MetaVarName<"dwo-file">; 4509467b48Spatrick 4609467b48Spatrickdefm add_gnu_debuglink 4709467b48Spatrick : Eq<"add-gnu-debuglink", "Add a .gnu_debuglink for <debug-file>">, 4809467b48Spatrick MetaVarName<"debug-file">; 4909467b48Spatrick 5009467b48Spatrickdefm rename_section 5109467b48Spatrick : Eq<"rename-section", 5209467b48Spatrick "Renames a section from old to new, optionally with specified flags. " 5309467b48Spatrick "Flags supported for GNU compatibility: alloc, load, noload, " 54*d415bd75Srobert "readonly, exclude, debug, code, data, rom, share, contents, merge, " 55*d415bd75Srobert "strings.">, 5609467b48Spatrick MetaVarName<"old=new[,flag1,...]">; 5709467b48Spatrickdefm redefine_symbol 5809467b48Spatrick : Eq<"redefine-sym", "Change the name of a symbol old to new">, 5909467b48Spatrick MetaVarName<"old=new">; 6009467b48Spatrickdefm redefine_symbols 6109467b48Spatrick : Eq<"redefine-syms", 6209467b48Spatrick "Reads a list of symbol pairs from <filename> and runs as if " 6309467b48Spatrick "--redefine-sym=<old>=<new> is set for each one. <filename> " 6409467b48Spatrick "contains two symbols per line separated with whitespace and may " 6509467b48Spatrick "contain comments beginning with '#'. Leading and trailing " 6609467b48Spatrick "whitespace is stripped from each line. May be repeated to read " 6709467b48Spatrick "symbols from many files.">, 6809467b48Spatrick MetaVarName<"filename">; 6909467b48Spatrick 7009467b48Spatrickdefm only_section : Eq<"only-section", "Remove all but <section>">, 7109467b48Spatrick MetaVarName<"section">; 7209467b48Spatrickdef j : JoinedOrSeparate<["-"], "j">, 7309467b48Spatrick Alias<only_section>, 7409467b48Spatrick HelpText<"Alias for --only-section">; 7509467b48Spatrickdefm add_section 7609467b48Spatrick : Eq<"add-section", 7709467b48Spatrick "Make a section named <section> with the contents of <file>.">, 7809467b48Spatrick MetaVarName<"section=file">; 7909467b48Spatrick 8009467b48Spatrickdefm set_section_alignment 8109467b48Spatrick : Eq<"set-section-alignment", "Set alignment for a given section.">, 8209467b48Spatrick MetaVarName<"section=align">; 8309467b48Spatrick 8409467b48Spatrickdefm set_section_flags 8509467b48Spatrick : Eq<"set-section-flags", 8609467b48Spatrick "Set section flags for a given section. Flags supported for GNU " 87*d415bd75Srobert "compatibility: alloc, load, noload, readonly, exclude, debug, code, " 88*d415bd75Srobert "data, rom, share, contents, merge, strings.">, 8909467b48Spatrick MetaVarName<"section=flag1[,flag2,...]">; 9009467b48Spatrick 91*d415bd75Srobertdefm set_section_type 92*d415bd75Srobert : Eq<"set-section-type", 93*d415bd75Srobert "Set the type of section <section> to the integer <type>">, 94*d415bd75Srobert MetaVarName<"section=type">; 95*d415bd75Srobert 9609467b48Spatrickdef S : Flag<["-"], "S">, 9709467b48Spatrick Alias<strip_all>, 9809467b48Spatrick HelpText<"Alias for --strip-all">; 9909467b48Spatrickdef strip_dwo : Flag<["--"], "strip-dwo">, 10009467b48Spatrick HelpText<"Remove all DWARF .dwo sections from file">; 10109467b48Spatrickdef strip_non_alloc 10209467b48Spatrick : Flag<["--"], "strip-non-alloc">, 10309467b48Spatrick HelpText<"Remove all non-allocated sections outside segments">; 10409467b48Spatrickdefm strip_unneeded_symbol 10509467b48Spatrick : Eq<"strip-unneeded-symbol", 10609467b48Spatrick "Remove symbol <symbol> if it is not needed by relocations">, 10709467b48Spatrick MetaVarName<"symbol">; 10809467b48Spatrickdefm strip_unneeded_symbols 10909467b48Spatrick : Eq<"strip-unneeded-symbols", 11009467b48Spatrick "Reads a list of symbols from <filename> and removes them " 11109467b48Spatrick "if they are not needed by relocations">, 11209467b48Spatrick MetaVarName<"filename">; 11309467b48Spatrick 114*d415bd75Srobertdefm subsystem 115*d415bd75Srobert : Eq<"subsystem", 116*d415bd75Srobert "Set PE subsystem and version">, 117*d415bd75Srobert MetaVarName<"name[:version]">; 118*d415bd75Srobert 11909467b48Spatrickdef extract_dwo 12009467b48Spatrick : Flag<["--"], "extract-dwo">, 12109467b48Spatrick HelpText< 12209467b48Spatrick "Remove all sections that are not DWARF .dwo sections from file">; 12309467b48Spatrick 12409467b48Spatrickdefm extract_partition 12509467b48Spatrick : Eq<"extract-partition", "Extract named partition from input file">, 12609467b48Spatrick MetaVarName<"name">; 12709467b48Spatrickdef extract_main_partition 12809467b48Spatrick : Flag<["--"], "extract-main-partition">, 12909467b48Spatrick HelpText<"Extract main partition from the input file">; 13009467b48Spatrick 13109467b48Spatrickdef localize_hidden 13209467b48Spatrick : Flag<["--"], "localize-hidden">, 13309467b48Spatrick HelpText< 13409467b48Spatrick "Mark all symbols that have hidden or internal visibility as local">; 13509467b48Spatrickdefm localize_symbol : Eq<"localize-symbol", "Mark <symbol> as local">, 13609467b48Spatrick MetaVarName<"symbol">; 13709467b48Spatrickdefm localize_symbols 13809467b48Spatrick : Eq<"localize-symbols", 13909467b48Spatrick "Reads a list of symbols from <filename> and marks them local.">, 14009467b48Spatrick MetaVarName<"filename">; 14109467b48Spatrick 14209467b48Spatrickdef L : JoinedOrSeparate<["-"], "L">, 14309467b48Spatrick Alias<localize_symbol>, 14409467b48Spatrick HelpText<"Alias for --localize-symbol">; 14509467b48Spatrick 14609467b48Spatrickdefm globalize_symbol : Eq<"globalize-symbol", "Mark <symbol> as global">, 14709467b48Spatrick MetaVarName<"symbol">; 14809467b48Spatrick 14909467b48Spatrickdefm globalize_symbols 15009467b48Spatrick : Eq<"globalize-symbols", 15109467b48Spatrick "Reads a list of symbols from <filename> and marks them global.">, 15209467b48Spatrick MetaVarName<"filename">; 15309467b48Spatrick 15409467b48Spatrickdefm keep_global_symbol 15509467b48Spatrick : Eq<"keep-global-symbol", 15609467b48Spatrick "Convert all symbols except <symbol> to local. May be repeated to " 15709467b48Spatrick "convert all except a set of symbols to local.">, 15809467b48Spatrick MetaVarName<"symbol">; 15909467b48Spatrickdef G : JoinedOrSeparate<["-"], "G">, 16009467b48Spatrick Alias<keep_global_symbol>, 16109467b48Spatrick HelpText<"Alias for --keep-global-symbol">; 16209467b48Spatrick 16309467b48Spatrickdefm keep_global_symbols 16409467b48Spatrick : Eq<"keep-global-symbols", 16509467b48Spatrick "Reads a list of symbols from <filename> and runs as if " 16609467b48Spatrick "--keep-global-symbol=<symbol> is set for each one. <filename> " 16709467b48Spatrick "contains one symbol per line and may contain comments beginning with " 16809467b48Spatrick "'#'. Leading and trailing whitespace is stripped from each line. May " 16909467b48Spatrick "be repeated to read symbols from many files.">, 17009467b48Spatrick MetaVarName<"filename">; 17109467b48Spatrick 17209467b48Spatrickdefm weaken_symbol : Eq<"weaken-symbol", "Mark <symbol> as weak">, 17309467b48Spatrick MetaVarName<"symbol">; 17409467b48Spatrickdefm weaken_symbols 17509467b48Spatrick : Eq<"weaken-symbols", 17609467b48Spatrick "Reads a list of symbols from <filename> and marks them weak.">, 17709467b48Spatrick MetaVarName<"filename">; 17809467b48Spatrick 17909467b48Spatrickdef W : JoinedOrSeparate<["-"], "W">, 18009467b48Spatrick Alias<weaken_symbol>, 18109467b48Spatrick HelpText<"Alias for --weaken-symbol">; 18209467b48Spatrickdef weaken : Flag<["--"], "weaken">, 18309467b48Spatrick HelpText<"Mark all global symbols as weak">; 18409467b48Spatrick 18509467b48Spatrickdefm strip_symbols 18609467b48Spatrick : Eq<"strip-symbols", 18709467b48Spatrick "Reads a list of symbols from <filename> and removes them.">, 18809467b48Spatrick MetaVarName<"filename">; 18909467b48Spatrick 19009467b48Spatrickdefm keep_symbols 19109467b48Spatrick : Eq<"keep-symbols", 19209467b48Spatrick "Reads a list of symbols from <filename> and runs as if " 19309467b48Spatrick "--keep-symbol=<symbol> is set for each one. <filename> " 19409467b48Spatrick "contains one symbol per line and may contain comments beginning with " 19509467b48Spatrick "'#'. Leading and trailing whitespace is stripped from each line. May " 19609467b48Spatrick "be repeated to read symbols from many files.">, 19709467b48Spatrick MetaVarName<"filename">; 19809467b48Spatrick 19909467b48Spatrickdefm dump_section 20009467b48Spatrick : Eq<"dump-section", 20109467b48Spatrick "Dump contents of section named <section> into file <file>">, 20209467b48Spatrick MetaVarName<"section=file">; 20309467b48Spatrickdefm prefix_symbols 20409467b48Spatrick : Eq<"prefix-symbols", "Add <prefix> to the start of every symbol name">, 20509467b48Spatrick MetaVarName<"prefix">; 20609467b48Spatrick 20709467b48Spatrickdefm prefix_alloc_sections 20809467b48Spatrick : Eq<"prefix-alloc-sections", "Add <prefix> to the start of every allocated section name">, 20909467b48Spatrick MetaVarName<"prefix">; 21009467b48Spatrick 21109467b48Spatrickdefm set_start : Eq<"set-start", "Set the start address to <addr>. Overrides " 21209467b48Spatrick "any previous --change-start or --adjust-start values.">, 21309467b48Spatrick MetaVarName<"addr">; 21409467b48Spatrickdefm change_start : Eq<"change-start", "Add <incr> to the start address. Can be " 21509467b48Spatrick "specified multiple times, all values will be applied " 21609467b48Spatrick "cumulatively.">, 21709467b48Spatrick MetaVarName<"incr">; 21809467b48Spatrickdef adjust_start : JoinedOrSeparate<["--"], "adjust-start">, 21909467b48Spatrick Alias<change_start>, 22009467b48Spatrick HelpText<"Alias for --change-start">; 22109467b48Spatrick 22209467b48Spatrickdefm add_symbol 22309467b48Spatrick : Eq<"add-symbol", "Add new symbol <name> to .symtab. Accepted flags: " 22409467b48Spatrick "global, local, weak, default, hidden, protected, file, section, object, " 22509467b48Spatrick "function, indirect-function. Accepted but ignored for " 22609467b48Spatrick "compatibility: debug, constructor, warning, indirect, synthetic, " 22709467b48Spatrick "unique-object, before.">, 22809467b48Spatrick MetaVarName<"name=[section:]value[,flags]">; 229*d415bd75Srobert 230*d415bd75Srobertdefm update_section 231*d415bd75Srobert : Eq<"update-section", "Replace the contents of section <name> with contents from a file <file>.">, 232*d415bd75Srobert MetaVarName<"name=file">; 233