diff options
Diffstat (limited to 'gold/options.h')
-rw-r--r-- | gold/options.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gold/options.h b/gold/options.h index c138fa2..66fcf3e 100644 --- a/gold/options.h +++ b/gold/options.h @@ -498,6 +498,32 @@ struct Struct_special : public Struct_var }; \ Struct_no_##option__ no_##option__##_initializer_ +// This is like DEFINE_uint64, but VARNAME is the name of a different +// option. This option becomes an alias for that one. +#define DEFINE_uint64_alias(option__, varname__, dashes__, shortname__, \ + helpstring__, helparg__) \ + private: \ + struct Struct_##option__ : public options::Struct_var \ + { \ + Struct_##option__() \ + : option(#option__, dashes__, shortname__, "", helpstring__, \ + helparg__, false, this) \ + { } \ + \ + void \ + parse_to_value(const char* option_name, const char* arg, \ + Command_line*, General_options* options) \ + { \ + uint64_t value; \ + options::parse_uint64(option_name, arg, &value); \ + options->set_##varname__(value); \ + options->set_user_set_##varname__(); \ + } \ + \ + options::One_option option; \ + }; \ + Struct_##option__ option__##_; + // This is used for non-standard flags. It defines no functions; it // just calls General_options::parse_VARNAME whenever the flag is // seen. We declare parse_VARNAME as a static member of @@ -1113,6 +1139,9 @@ class General_options N_("Set the address of the data segment"), N_("ADDRESS")); DEFINE_uint64(Ttext, options::ONE_DASH, '\0', -1U, N_("Set the address of the text segment"), N_("ADDRESS")); + DEFINE_uint64_alias(Ttext_segment, Ttext, options::ONE_DASH, '\0', + N_("Set the address of the text segment"), + N_("ADDRESS")); DEFINE_bool(toc_optimize, options::TWO_DASHES, '\0', true, N_("(PowerPC64 only) Optimize TOC code sequences"), |