X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2Foptions.h;h=f7c127953c2e899b8b93a63e0412ccc7ad5d2c21;hb=abdb711e0855f0597a96db0486b598144b788212;hp=970e76f4d55b74a747f12ba785574175ef2a7dce;hpb=2760f24c4942853eac7b921e4b8843d57a602654;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/options.h b/gold/options.h index 970e76f4d5..f7c127953c 100644 --- a/gold/options.h +++ b/gold/options.h @@ -1,6 +1,6 @@ // options.h -- handle command line options for gold -*- C++ -*- -// Copyright (C) 2006-2017 Free Software Foundation, Inc. +// Copyright (C) 2006-2019 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // This file is part of gold. @@ -471,7 +471,11 @@ struct Struct_special : public Struct_var \ options::String_set::const_iterator \ varname__##_end() const \ - { return this->varname__##_.value.end(); } + { return this->varname__##_.value.end(); } \ + \ + options::String_set::size_type \ + varname__##_size() const \ + { return this->varname__##_.value.size(); } \ // When you have a list of possible values (expressed as string) // After helparg__ should come an initializer list, like @@ -711,7 +715,7 @@ class General_options DEFINE_string(format, options::TWO_DASHES, 'b', "elf", N_("Set input format"), ("[elf,binary]")); - DEFINE_bool(be8,options::TWO_DASHES, '\0', false, + DEFINE_bool(be8, options::TWO_DASHES, '\0', false, N_("Output BE8 format image"), NULL); DEFINE_optional_string(build_id, options::TWO_DASHES, '\0', "tree", @@ -894,7 +898,7 @@ class General_options DEFINE_string(fuse_ld, options::ONE_DASH, '\0', "", N_("Ignored for GCC linker option compatibility"), - ""); + N_("[gold,bfd]")); // g @@ -942,7 +946,7 @@ class General_options {"none", "all", "safe"}); DEFINE_uint(icf_iterations, options::TWO_DASHES , '\0', 0, - N_("Number of iterations of ICF (default 2)"), N_("COUNT")); + N_("Number of iterations of ICF (default 3)"), N_("COUNT")); DEFINE_special(incremental, options::TWO_DASHES, '\0', N_("Do an incremental link if possible; " @@ -1101,7 +1105,7 @@ class General_options NULL, N_("(ARM only) Ignore for backward compatibility")); DEFINE_var(plt_align, options::TWO_DASHES, '\0', 0, "5", - N_("(PowerPC64 only) Align PLT call stubs to fit cache lines"), + N_("(PowerPC only) Align PLT call stubs to fit cache lines"), N_("[=P2ALIGN]"), true, int, int, options::parse_uint, false); DEFINE_bool(plt_localentry, options::TWO_DASHES, '\0', false, @@ -1121,6 +1125,12 @@ class General_options N_("Load a plugin library"), N_("PLUGIN")); DEFINE_special(plugin_opt, options::TWO_DASHES, '\0', N_("Pass an option to the plugin"), N_("OPTION")); +#else + DEFINE_special(plugin, options::TWO_DASHES, '\0', + N_("Load a plugin library (not supported)"), N_("PLUGIN")); + DEFINE_special(plugin_opt, options::TWO_DASHES, '\0', + N_("Pass an option to the plugin (not supported)"), + N_("OPTION")); #endif DEFINE_bool(posix_fallocate, options::TWO_DASHES, '\0', true, @@ -1235,9 +1245,10 @@ class General_options "stubs are always after the group. 1 means use default size"), N_("SIZE")); - DEFINE_bool(stub_group_multi, options::TWO_DASHES, '\0', false, + DEFINE_bool(stub_group_multi, options::TWO_DASHES, '\0', true, N_("(PowerPC only) Allow a group of stubs to serve multiple " - "output sections"), NULL); + "output sections"), + N_("(PowerPC only) Each output section has its own stubs")); DEFINE_uint(split_stack_adjust_size, options::TWO_DASHES, '\0', 0x4000, N_("Stack size when -fsplit-stack function calls non-split"), @@ -1294,6 +1305,9 @@ class General_options DEFINE_bool(tls_optimize, options::TWO_DASHES, '\0', true, N_("(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE"), N_("(PowerPC/64 only) Don'\''t try to optimize TLS accesses")); + DEFINE_bool(tls_get_addr_optimize, options::TWO_DASHES, '\0', true, + N_("(PowerPC/64 only) Use a special __tls_get_addr call"), + N_("(PowerPC/64 only) Don't use a special __tls_get_addr call")); DEFINE_bool(toc_optimize, options::TWO_DASHES, '\0', true, N_("(PowerPC64 only) Optimize TOC code sequences"), @@ -1347,6 +1361,10 @@ class General_options DEFINE_bool_ignore(warn_constructors, options::TWO_DASHES, '\0', N_("Ignored"), N_("Ignored")); + DEFINE_bool(warn_drop_version, options::TWO_DASHES, '\0', false, + N_("Warn when discarding version information"), + N_("Do not warn when discarding version information")); + DEFINE_bool(warn_execstack, options::TWO_DASHES, '\0', false, N_("Warn if the stack is executable"), N_("Do not warn if the stack is executable")); @@ -1488,6 +1506,15 @@ class General_options DEFINE_bool_alias(textoff, text, options::DASH_Z, '\0', N_("Permit relocations in read-only segments"), NULL, true); + DEFINE_bool(text_unlikely_segment, options::DASH_Z, '\0', false, + N_("Move .text.unlikely sections to a separate segment."), + N_("Do not move .text.unlikely sections to a separate " + "segment.")); + DEFINE_bool(keep_text_section_prefix, options::DASH_Z, '\0', false, + N_("Keep .text.hot, .text.startup, .text.exit and .text.unlikely " + "as separate sections in the final binary."), + N_("Merge all .text.* prefix sections.")); + public: typedef options::Dir_list Dir_list;