summaryrefslogtreecommitdiff
path: root/gold/arm.cc
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2010-03-08 22:15:16 +0000
committerDoug Kwan <dougkwan@google.com>2010-03-08 22:15:16 +0000
commitd4f1e79edf9396d76008b19a8f3b15c7f559254a (patch)
tree2766af5f936f7c1bb37f36c9ad517bc6f90eb660 /gold/arm.cc
parent139ae482bdc4721db7b1dc5b6eee3617d34d5cdd (diff)
downloadbinutils-redhat-d4f1e79edf9396d76008b19a8f3b15c7f559254a.tar.gz
2010-03-08 Doug Kwan <dougkwan@google.com>
* gold/arm.cc (Arm_exidx_fixup::update_offset_map): Fix build breakage due to a conversion warning. (Arm_relobj::update_output_local_symbol_count): Check for local symbol with unset output index.
Diffstat (limited to 'gold/arm.cc')
-rw-r--r--gold/arm.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/gold/arm.cc b/gold/arm.cc
index c141bc010f..e331fd3462 100644
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -5194,9 +5194,10 @@ Arm_exidx_fixup::update_offset_map(
{
if (this->section_offset_map_ == NULL)
this->section_offset_map_ = new Arm_exidx_section_offset_map();
- section_offset_type output_offset = (delete_entry
- ? -1
- : input_offset - deleted_bytes);
+ section_offset_type output_offset =
+ (delete_entry
+ ? Arm_exidx_input_section::invalid_offset
+ : input_offset - deleted_bytes);
(*this->section_offset_map_)[input_offset] = output_offset;
}
@@ -6506,7 +6507,7 @@ Arm_relobj<big_endian>::update_output_local_symbol_count()
Symbol_value<32>& lv((*this->local_values())[i]);
// This local symbol was already discarded by do_count_local_symbols.
- if (!lv.is_output_symtab_index_set())
+ if (lv.is_output_symtab_index_set() && !lv.has_output_symtab_entry())
continue;
bool is_ordinary;