summaryrefslogtreecommitdiff
path: root/gold/object.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2012-09-12 18:29:18 +0000
committerIan Lance Taylor <ian@airs.com>2012-09-12 18:29:18 +0000
commitd77a055577382396ffb49b3b32c18198684f749f (patch)
treed387df11a6c7cf9f09f5c9ad216a2b76e0190187 /gold/object.h
parentf41aef5f6e10edcded9a747dc2bdc9832b940dc7 (diff)
downloadbinutils-gdb-d77a055577382396ffb49b3b32c18198684f749f.tar.gz
PR gold/14570
* output.cc: Rename Output_data_got template parameter from size to got_size for all functions. Compile all variants of Output_data_got. (Output_data_got::Got_entry::write): Correct use of size for symbol value. Use local_is_tls rather than casting to Sized_relobj_file. * object.h (class Object): Add local_is_tls and do_local_is_tls. (class Sized_relobj_file): Add do_local_is_tls. * incremental.h (class Sized_relobj_incr): Add do_local_is_tls.
Diffstat (limited to 'gold/object.h')
-rw-r--r--gold/object.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/gold/object.h b/gold/object.h
index 492ef6361cd..a507204d2b7 100644
--- a/gold/object.h
+++ b/gold/object.h
@@ -1079,6 +1079,11 @@ class Relobj : public Object
unsigned int got_offset)
{ this->do_set_local_got_offset(symndx, got_type, got_offset); }
+ // Return whether the local symbol SYMNDX is a TLS symbol.
+ bool
+ local_is_tls(unsigned int symndx) const
+ { return this->do_local_is_tls(symndx); }
+
// The number of local symbols in the input symbol table.
virtual unsigned int
local_symbol_count() const
@@ -1259,6 +1264,10 @@ class Relobj : public Object
do_set_local_got_offset(unsigned int symndx, unsigned int got_type,
unsigned int got_offset) = 0;
+ // Return whether local symbol SYMNDX is a TLS symbol.
+ virtual bool
+ do_local_is_tls(unsigned int symndx) const = 0;
+
// Return the number of local symbols--implemented by child class.
virtual unsigned int
do_local_symbol_count() const = 0;
@@ -2166,6 +2175,11 @@ class Sized_relobj_file : public Sized_relobj<size, big_endian>
unsigned int
do_local_plt_offset(unsigned int symndx) const;
+ // Return whether local symbol SYMNDX is a TLS symbol.
+ bool
+ do_local_is_tls(unsigned int symndx) const
+ { return this->local_symbol(symndx)->is_tls_symbol(); }
+
// Return the number of local symbols.
unsigned int
do_local_symbol_count() const