diff options
Diffstat (limited to 'gold')
-rw-r--r-- | gold/i386.cc | 20 |
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; |