summaryrefslogtreecommitdiff
path: root/gold/options.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/options.h')
-rw-r--r--gold/options.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gold/options.h b/gold/options.h
index b2059d984cd..ed050c3b026 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -1500,6 +1500,10 @@ class General_options
N_("Don't mark variables read-only after relocation"));
DEFINE_uint64(stack_size, options::DASH_Z, '\0', 0,
N_("Set PT_GNU_STACK segment p_memsz to SIZE"), N_("SIZE"));
+ DEFINE_special(start_stop_visibility, options::DASH_Z, '\0',
+ N_("ELF symbol visibility for synthesized "
+ "__start_* and __stop_* symbols"),
+ N_("[default,internal,hidden,protected]"));
DEFINE_bool(text, options::DASH_Z, '\0', false,
N_("Do not permit relocations in read-only segments"),
N_("Permit relocations in read-only segments"));
@@ -1750,6 +1754,10 @@ class General_options
orphan_handling_enum() const
{ return this->orphan_handling_enum_; }
+ elfcpp::STV
+ start_stop_visibility() const
+ { return this->start_stop_visibility_; }
+
private:
// Don't copy this structure.
General_options(const General_options&);
@@ -1876,6 +1884,8 @@ class General_options
std::vector<Position_dependent_options*> options_stack_;
// Orphan handling option, decoded to an enum value.
Orphan_handling orphan_handling_enum_;
+ // Symbol visibility for __start_* / __stop_* magic symbols.
+ elfcpp::STV start_stop_visibility_;
};
// The position-dependent options. We use this to store the state of