mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
* options.h (class General_options): Add -z text and -z textoff.
* layout.cc (Layout::finish_dynamic_section): Implement -z text.
This commit is contained in:
parent
b7cd1872af
commit
ffeef7dfa5
@ -1,3 +1,8 @@
|
||||
2010-01-07 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* options.h (class General_options): Add -z text and -z textoff.
|
||||
* layout.cc (Layout::finish_dynamic_section): Implement -z text.
|
||||
|
||||
2010-01-06 Sriraman Tallam <tmsriram@google.com>
|
||||
|
||||
* gc.h (Garbage_collection::Cident_section_map): New typedef.
|
||||
|
@ -3353,8 +3353,10 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
|
||||
odyn->add_constant(elfcpp::DT_TEXTREL, 0);
|
||||
flags |= elfcpp::DF_TEXTREL;
|
||||
|
||||
if (parameters->options().warn_shared_textrel()
|
||||
&& parameters->options().shared())
|
||||
if (parameters->options().text())
|
||||
gold_error(_("read-only segment has dynamic relocations"));
|
||||
else if (parameters->options().warn_shared_textrel()
|
||||
&& parameters->options().shared())
|
||||
gold_warning(_("shared library text segment is not shareable"));
|
||||
}
|
||||
if (parameters->options().shared() && this->has_static_tls())
|
||||
|
@ -1052,6 +1052,12 @@ class General_options
|
||||
DEFINE_bool(relro, options::DASH_Z, '\0', false,
|
||||
N_("Where possible mark variables read-only after relocation"),
|
||||
N_("Don't mark variables read-only after relocation"));
|
||||
DEFINE_bool(text, options::DASH_Z, '\0', false,
|
||||
N_("Do not permit relocations in read-only segments"),
|
||||
NULL);
|
||||
DEFINE_bool_alias(textoff, text, options::DASH_Z, '\0',
|
||||
N_("Permit relocations in read-only segments (default)"),
|
||||
NULL, true);
|
||||
|
||||
public:
|
||||
typedef options::Dir_list Dir_list;
|
||||
|
Loading…
Reference in New Issue
Block a user