aboutsummaryrefslogtreecommitdiff
path: root/gold/i386.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2008-02-01 00:39:10 +0000
committerIan Lance Taylor <iant@google.com>2008-02-01 00:39:10 +0000
commit03e8f2b225dde93f13d6b7dd164f54ffe5591e64 (patch)
treeba4db5048cd7c5e6e19b1caf3121f158dd3c4933 /gold/i386.cc
parent59a016f09f0e9a33e822fb0b79c608e582755dfd (diff)
downloadgdb-03e8f2b225dde93f13d6b7dd164f54ffe5591e64.zip
gdb-03e8f2b225dde93f13d6b7dd164f54ffe5591e64.tar.gz
gdb-03e8f2b225dde93f13d6b7dd164f54ffe5591e64.tar.bz2
From Cary Coutant: Fix a case in which code takes the address of a
function and also calls it directly.
Diffstat (limited to 'gold/i386.cc')
-rw-r--r--gold/i386.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gold/i386.cc b/gold/i386.cc
index 9c96bfd..ca68a3f 100644
--- a/gold/i386.cc
+++ b/gold/i386.cc
@@ -1089,7 +1089,7 @@ Target_i386::Scan::global(const General_options& options,
// taking the address of a function. In that case we need to
// set the entry in the dynamic symbol table to the address of
// the PLT entry.
- if (gsym->is_from_dynobj())
+ if (gsym->is_from_dynobj() && !parameters->output_is_shared())
gsym->set_needs_dynsym_value();
}
// Make a dynamic relocation if necessary.