aboutsummaryrefslogtreecommitdiff
path: root/gold/i386.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/i386.cc')
-rw-r--r--gold/i386.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/gold/i386.cc b/gold/i386.cc
index 0858e6d..6c35940 100644
--- a/gold/i386.cc
+++ b/gold/i386.cc
@@ -1583,7 +1583,10 @@ Target_i386::Relocate::relocate(const Relocate_info<32, false>* relinfo,
case elfcpp::R_386_PLT32:
gold_assert(gsym == NULL
|| gsym->has_plt_offset()
- || gsym->final_value_is_known());
+ || gsym->final_value_is_known()
+ || (gsym->is_defined()
+ && !gsym->is_from_dynobj()
+ && !gsym->is_preemptible()));
Relocate_functions<32, false>::pcrel32(view, object, psymval, address);
break;