summaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2013-02-15 15:44:03 +0000
committerIan Lance Taylor <ian@airs.com>2013-02-15 15:44:03 +0000
commit03162e5fe0e190d0f86057121311eca16222014d (patch)
treead6fd3aa63e6e2835505125a735bd29cb136e2f2 /gold
parent29110b5ec3685a41fcbe43df3be220c4d21f3589 (diff)
downloadbinutils-redhat-03162e5fe0e190d0f86057121311eca16222014d.tar.gz
* options.h (DEFINE_uint64_alias): Define.
(class General_options): Add -Ttext-segment as an alias for -Ttext.
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog6
-rw-r--r--gold/options.h29
2 files changed, 35 insertions, 0 deletions
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 <iant@google.com>
+
+ * options.h (DEFINE_uint64_alias): Define.
+ (class General_options): Add -Ttext-segment as an alias for
+ -Ttext.
+
2013-02-15 Alan Modra <amodra@gmail.com>
* 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"),