aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/i386.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/gold/i386.cc b/gold/i386.cc
index 0c43761..04a2fa9 100644
--- a/gold/i386.cc
+++ b/gold/i386.cc
@@ -2017,16 +2017,18 @@ Target_i386::Relocate::relocate_tls(const Relocate_info<32, false>* relinfo,
// This reloc can appear in debugging sections, in which case we
// won't see the TLS_LDM reloc. The local_dynamic_type field
// tells us this.
- if (optimized_type == tls::TLSOPT_TO_LE
- && this->local_dynamic_type_ != LOCAL_DYNAMIC_NONE)
- {
- gold_assert(tls_segment != NULL);
- value -= tls_segment->memsz();
- }
- else
+ if (optimized_type == tls::TLSOPT_TO_LE)
{
- // We may see the LDM later.
- this->ldo_addrs_.push_back(view);
+ if (this->local_dynamic_type_ != LOCAL_DYNAMIC_NONE)
+ {
+ gold_assert(tls_segment != NULL);
+ value -= tls_segment->memsz();
+ }
+ else
+ {
+ // We may see the LDM later.
+ this->ldo_addrs_.push_back(view);
+ }
}
Relocate_functions<32, false>::rel32(view, value);
break;