N_("Try to detect violations of the One Definition Rule"),
NULL);
+ DEFINE_bool(discard_locals, options::TWO_DASHES, 'X', false,
+ N_("Delete all temporary local symbols"), NULL);
+
DEFINE_bool(dynamic_list_data, options::TWO_DASHES, '\0', false,
N_("Add data symbols to dynamic symbols"), NULL);
DEFINE_string(entry, options::TWO_DASHES, 'e', NULL,
N_("Set program start address"), N_("ADDRESS"));
+ DEFINE_special(exclude_libs, options::TWO_DASHES, '\0',
+ N_("Exclude libraries from automatic export"),
+ N_(("lib,lib ...")));
+
DEFINE_bool(export_dynamic, options::TWO_DASHES, 'E', false,
N_("Export all dynamic symbols"),
N_("Do not export all dynamic symbols (default)"));
incremental_disposition() const
{ return this->incremental_disposition_; }
+ // Return true if S is the name of a library excluded from automatic
+ // symbol export.
+ bool
+ check_excluded_libs (const std::string &s) const;
+
private:
// Don't copy this structure.
General_options(const General_options&);
// build (--incremental-changed, --incremental-unchanged or
// --incremental-unknown)
bool implicit_incremental_;
+ // Libraries excluded from automatic export via --exclude-libs
+ Unordered_set<std::string> excluded_libs_;
};
// The position-dependent options. We use this to store the state of