diff options
author | Ian Lance Taylor <ian@airs.com> | 2011-07-08 23:49:11 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2011-07-08 23:49:11 +0000 |
commit | 62855347684cda4254e2b8f1f80ed95e18ab5b76 (patch) | |
tree | ac7dc032f7360ae5b1af58c18bb26d0495c1dcc7 /gold/symtab.cc | |
parent | 67181c72fbaad59e5793cf6bcb8d12d7d211c817 (diff) | |
download | binutils-62855347684cda4254e2b8f1f80ed95e18ab5b76.zip binutils-62855347684cda4254e2b8f1f80ed95e18ab5b76.tar.gz binutils-62855347684cda4254e2b8f1f80ed95e18ab5b76.tar.bz2 |
PR gold/12279
* resolve.cc (Symbol_table::should_override): Add fromtype
parameter. Change all callers. Give error when linking together
TLS and non-TLS symbol.
(Symbol_table::should_override_with_special): Add fromtype
parameter. Change all callers.
* i386.cc (Target_i386::Relocate::relocate_tls): Don't crash if
there is no TLS segment if we have reported some errors.
* x86_64.cc (Target_x86_64::relocate_tls): Likewise.
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r-- | gold/symtab.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index 7e5b66c..26d8032 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1883,7 +1883,7 @@ Symbol_table::do_define_in_output_data( return sym; } - if (Symbol_table::should_override_with_special(oldsym, defined)) + if (Symbol_table::should_override_with_special(oldsym, type, defined)) this->override_with_special(oldsym, sym); if (resolve_oldsym) @@ -1997,7 +1997,7 @@ Symbol_table::do_define_in_output_segment( return sym; } - if (Symbol_table::should_override_with_special(oldsym, defined)) + if (Symbol_table::should_override_with_special(oldsym, type, defined)) this->override_with_special(oldsym, sym); if (resolve_oldsym) @@ -2116,7 +2116,7 @@ Symbol_table::do_define_as_constant( } if (force_override - || Symbol_table::should_override_with_special(oldsym, defined)) + || Symbol_table::should_override_with_special(oldsym, type, defined)) this->override_with_special(oldsym, sym); if (resolve_oldsym) |