bug-binutils
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]