I'm getting the error:

myArch.a(myFile.o): In function `myFunc': relocation truncated to fit:
R_ARM_THM_JUMP11 against symbol `myOtherFunc' defined in .text section in
myArch.a(myFile.o)

Source code is this assembly code:
--------------------------------------------------
myFunc:
  [...code...]
  b  myOtherFunc
--------------------------------------------------
GCC 4.1.1 options are -mlong-calls -mthumb-interwork, compiles disassembly is 
this:
--------------------------------------------------
00000000 <myFunc>:
  [...code...]
  42:   e7fe   b.n  0 <myOtherFunc>
                f6: R_ARM_THM_JUMP11 myOtherFunc
--------------------------------------------------

Isnt the linker supposed to handle this properly and use something
like this:
--------------------------------------------------
myFunc:
  [...code...]
  b long_branch_myOtherFunc
  [...more code...]

long_branch_myOtherFunc:
  SUB sp,#4
  PUSH {r0}
  LDR r0, _addr_myOtherFunc
  STR r0, [sp,#4]
  POP {r0,pc}
_addr_myOtherFunc:
    .word myOtherFunc
--------------------------------------------------

-- 
           Summary: relocation truncated to fit: R_ARM_THM_JUMP11
           Product: binutils
           Version: 2.17
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: axelheider at gmx dot de
                CC: bug-binutils at gnu dot org
  GCC host triplet: i386/cygwin
GCC target triplet: ARM


http://sourceware.org/bugzilla/show_bug.cgi?id=4689

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to