From 214383dd76c20399a8212ec30d98b70b76490af3 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 15 Feb 2013 15:44:03 +0000 Subject: [PATCH] * options.h (DEFINE_uint64_alias): Define. (class General_options): Add -Ttext-segment as an alias for -Ttext. --- gold/ChangeLog | 6 ++++++ gold/options.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/gold/ChangeLog b/gold/ChangeLog index c025205a6f..e9de8216ef 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2013-02-15 Ian Lance Taylor + + * options.h (DEFINE_uint64_alias): Define. + (class General_options): Add -Ttext-segment as an alias for + -Ttext. + 2013-02-15 Alan Modra * powerpc.cc (Stub_table::plt_off): New function, extracted from.. diff --git a/gold/options.h b/gold/options.h index c138fa26e2..66fcf3eec6 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"),