[RFC,6/6] Implement and document DF_1_UNIQUE handling in gold
Commit Message
---
gold/layout.cc | 2 ++
gold/options.h | 3 +++
2 files changed, 5 insertions(+)
@@ -5351,6 +5351,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
flags |= elfcpp::DF_1_NOW;
if (parameters->options().Bgroup())
flags |= elfcpp::DF_1_GROUP;
+ if (parameters->options().unique())
+ flags |= elfcpp::DF_1_UNIQUE;
if (flags != 0)
odyn->add_constant(elfcpp::DT_FLAGS_1, flags);
}
@@ -1459,6 +1459,9 @@ class General_options
DEFINE_bool(interpose, options::DASH_Z, '\0', false,
N_("Mark object to interpose all DSOs but executable"),
NULL);
+ DEFINE_bool(unique, options::DASH_Z, '\0', false,
+ N_("Mark DSO to be loaded at most once, and only in the main namespace"),
+ NULL);
DEFINE_bool_alias(lazy, now, options::DASH_Z, '\0',
N_("Mark object for lazy runtime binding"),
NULL, true);