[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/16085] gold assumes STT_NOTYPE symbols are not thumb
From: |
vries at gcc dot gnu.org |
Subject: |
[Bug gold/16085] gold assumes STT_NOTYPE symbols are not thumb |
Date: |
Fri, 25 Oct 2013 12:18:24 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=16085
--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
- fail saying it cannot handle this relocation.
Which could look something like this:
...
Index: gold/arm.cc
===================================================================
--- gold/arm.cc (revision 422330)
+++ gold/arm.cc (working copy)
@@ -8865,6 +8865,9 @@ Target_arm<big_endian>::Relocate::reloca
// If the final branch target of a relocation is THUMB instruction, this
// is 1. Otherwise it is 0.
Arm_address thumb_bit = 0;
+ bool thumb_bit_valid = true;
Symbol_value<32> symval;
bool is_weakly_undefined_without_plt = false;
bool have_got_offset = false;
@@ -8945,6 +8948,10 @@ Target_arm<big_endian>::Relocate::reloca
&& ((psymval->value(object, 0) & 1) != 0)))
? 1
: 0);
+
+ thumb_bit_valid = gsym->type() != elfcpp::STT_NOTYPE;
}
}
else
@@ -9133,6 +9140,9 @@ Target_arm<big_endian>::Relocate::reloca
case elfcpp::R_ARM_THM_CALL:
case elfcpp::R_ARM_THM_XPC22:
case elfcpp::R_ARM_THM_JUMP24:
+ gold_assert (thumb_bit_valid);
reloc_status =
Arm_relocate_functions::thumb_branch_common(
r_type, relinfo, view, gsym, object, r_sym, psymval, address,
...
--
You are receiving this mail because:
You are on the CC list for the bug.