diff options
author | Ian Lance Taylor <iant@google.com> | 2007-12-21 23:31:19 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-12-21 23:31:19 +0000 |
commit | 99f8facac923848a9496cc34235b608e05a7f160 (patch) | |
tree | d35f563ca6e357ff8ff87d3d3e45c2098b702f46 /gold/i386.cc | |
parent | dc96b90a103d5363c3bb298178b6ae3c5124aa19 (diff) | |
download | gdb-99f8facac923848a9496cc34235b608e05a7f160.zip gdb-99f8facac923848a9496cc34235b608e05a7f160.tar.gz gdb-99f8facac923848a9496cc34235b608e05a7f160.tar.bz2 |
From Cary Coutant: Fix handling of versioned symbols, add some tests.
Diffstat (limited to 'gold/i386.cc')
-rw-r--r-- | gold/i386.cc | 5 |
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; |