diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2009-12-07 17:14:55 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2009-12-07 17:14:55 +0000 |
commit | 53d7974cd89aa01148a771e83a8ea5a97359f13c (patch) | |
tree | 90c35e6efd81254ec9dc191905ab178acc2fe0ff /gold/x86_64.cc | |
parent | f43525316b6a7a4c300e3198e4dc0bb886cc8dd7 (diff) | |
download | binutils-53d7974cd89aa01148a771e83a8ea5a97359f13c.zip binutils-53d7974cd89aa01148a771e83a8ea5a97359f13c.tar.gz binutils-53d7974cd89aa01148a771e83a8ea5a97359f13c.tar.bz2 |
2009-12-07 H.J. Lu <hongjiu.lu@intel.com>
PR gold/10893
* i386.cc (Target_i386::Scan::globa): Use is_func instead of
checking elfcpp::STT_FUNC.
(Target_i386::Relocate::relocate): Likewise.
* x86_64.cc (Target_x86_64::Scan::global): Likewise.
* symtab.cc (Symbol_table::sized_write_symbol): Turn IFUNC
symbols from shared libraries into normal FUNC symbols.
* symtab.h (Symbol): Add is_func and use it.
Diffstat (limited to 'gold/x86_64.cc')
-rw-r--r-- | gold/x86_64.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gold/x86_64.cc b/gold/x86_64.cc index 3b37286..e51b4ab 100644 --- a/gold/x86_64.cc +++ b/gold/x86_64.cc @@ -1352,7 +1352,7 @@ Target_x86_64::Scan::global(Symbol_table* symtab, target->make_plt_entry(symtab, layout, gsym); // Make a dynamic relocation if necessary. int flags = Symbol::NON_PIC_REF; - if (gsym->type() == elfcpp::STT_FUNC) + if (gsym->is_func()) flags |= Symbol::FUNCTION_CALL; if (gsym->needs_dynamic_reloc(flags)) { |