diff options
author | Ian Lance Taylor <ian@airs.com> | 2012-09-12 18:29:18 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2012-09-12 18:29:18 +0000 |
commit | d77a055577382396ffb49b3b32c18198684f749f (patch) | |
tree | d387df11a6c7cf9f09f5c9ad216a2b76e0190187 /gold/object.h | |
parent | f41aef5f6e10edcded9a747dc2bdc9832b940dc7 (diff) | |
download | gdb-d77a055577382396ffb49b3b32c18198684f749f.zip gdb-d77a055577382396ffb49b3b32c18198684f749f.tar.gz gdb-d77a055577382396ffb49b3b32c18198684f749f.tar.bz2 |
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.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gold/object.h b/gold/object.h index 492ef63..a507204 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 |