aboutsummaryrefslogtreecommitdiff
path: root/gold/target.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-11-14 07:52:21 +0000
committerIan Lance Taylor <iant@google.com>2007-11-14 07:52:21 +0000
commit3728821ffcf74858b028948e224e1dc4695d9112 (patch)
tree33789e7f02b4a7cece4de72bc9ceb1381dbc34bf /gold/target.h
parente2827e5f525574e8620bd43c8bcb27dba3407a7f (diff)
downloadgdb-3728821ffcf74858b028948e224e1dc4695d9112.zip
gdb-3728821ffcf74858b028948e224e1dc4695d9112.tar.gz
gdb-3728821ffcf74858b028948e224e1dc4695d9112.tar.bz2
Support special always-defined symbols for targets.
Diffstat (limited to 'gold/target.h')
-rw-r--r--gold/target.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gold/target.h b/gold/target.h
index 8ecc078..33c351c 100644
--- a/gold/target.h
+++ b/gold/target.h
@@ -137,6 +137,13 @@ class Target
code_fill(off_t length)
{ return this->do_code_fill(length); }
+ // Return whether SYM is a special symbol which is known to be
+ // defined. This is used to avoid inappropriate warnings about
+ // undefined symbols.
+ bool
+ is_always_defined(Symbol* sym) const
+ { return this->do_is_always_defined(sym); }
+
protected:
// This struct holds the constant information for a child class. We
// use a struct to avoid the overhead of virtual function calls for
@@ -188,6 +195,12 @@ class Target
do_code_fill(off_t)
{ gold_unreachable(); }
+ // Virtual function which may be implemented by the child class if
+ // needed.
+ virtual bool
+ do_is_always_defined(Symbol*) const
+ { return false; }
+
private:
Target(const Target&);
Target& operator=(const Target&);