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.
This commit is contained in:
Ian Lance Taylor
2011-07-03 04:46:56 +00:00
parent ae3a6d4fa3
commit 886288f10b
4 changed files with 36 additions and 2 deletions

View File

@@ -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)
{