aboutsummaryrefslogtreecommitdiff
path: root/gold/object.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2008-02-12 00:28:48 +0000
committerIan Lance Taylor <iant@google.com>2008-02-12 00:28:48 +0000
commitdceae3c154edcb9aada9f94452a72548a82914f5 (patch)
treeb9fb771a92a28b7047bdea1b9e2104e8d6b82f73 /gold/object.h
parent709d67f15ab46ff1d18da0e2c2c7dcea140155a5 (diff)
downloadgdb-dceae3c154edcb9aada9f94452a72548a82914f5.zip
gdb-dceae3c154edcb9aada9f94452a72548a82914f5.tar.gz
gdb-dceae3c154edcb9aada9f94452a72548a82914f5.tar.bz2
Support dynamic relocations against local section symbols.
Diffstat (limited to 'gold/object.h')
-rw-r--r--gold/object.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/gold/object.h b/gold/object.h
index 36a2e1f..4011bdc 100644
--- a/gold/object.h
+++ b/gold/object.h
@@ -874,6 +874,7 @@ class Symbol_value
void
set_needs_output_dynsym_entry()
{
+ gold_assert(!this->is_section_symbol());
this->output_dynsym_index_ = 0;
}
@@ -897,7 +898,8 @@ class Symbol_value
unsigned int
output_dynsym_index() const
{
- gold_assert(this->output_dynsym_index_ != 0);
+ gold_assert(this->output_dynsym_index_ != 0
+ && this->output_dynsym_index_ != -1U);
return this->output_dynsym_index_;
}
@@ -924,7 +926,10 @@ class Symbol_value
// Record that this is a section symbol.
void
set_is_section_symbol()
- { this->is_section_symbol_ = true; }
+ {
+ gold_assert(!this->needs_output_dynsym_entry());
+ this->is_section_symbol_ = true;
+ }
// Record that this is a TLS symbol.
void