From 886288f10bd9d10fb446191e5266154c38f0cbad Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sun, 3 Jul 2011 04:46:56 +0000 Subject: PR gold/12957 * options.h (class General_options): Add -f and -F. * options.cc (General_options::finalize): Fatal error if -f/-F are used without -shared. * layout.cc (Layout::finish_dynamic_section): Implement -f/-F. --- gold/layout.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'gold/layout.cc') diff --git a/gold/layout.cc b/gold/layout.cc index 11dbbef..e6fd7e5 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -4218,8 +4218,18 @@ Layout::finish_dynamic_section(const Input_objects* input_objects, } } - // Add a DT_FLAGS entry. We add it even if no flags are set so that - // post-link tools can easily modify these flags if desired. + if (parameters->options().filter() != NULL) + odyn->add_string(elfcpp::DT_FILTER, parameters->options().filter()); + if (parameters->options().any_auxiliary()) + { + for (options::String_set::const_iterator p = + parameters->options().auxiliary_begin(); + p != parameters->options().auxiliary_end(); + ++p) + odyn->add_string(elfcpp::DT_AUXILIARY, *p); + } + + // Add a DT_FLAGS entry if necessary. unsigned int flags = 0; if (have_textrel) { -- cgit v1.1