PLEASE REPLY TO [EMAIL PROTECTED] ONLY, *NOT* [EMAIL PROTECTED]

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12476

           Summary: ARM/THUMB thunk calls broken
           Product: gcc
           Version: 3.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: thomas at koeller dot dyndns dot org
                CC: gcc-bugs at gcc dot gnu dot org,thomas dot koeller at
                    baslerweb dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: arm-ecos-elf

When compiling ARM programs in THUMB mode, thunks use a 'b' instruction to branch to 
the target function. Since the 'b' instruction has a very limited adressing range (+/- 
256 
bytes), and the thunk and its target function are placed in different sections, 
linking errors 
are very common: 
 
csr_camerastatus.o: In function `non-virtual thunk [nv:-24] to 
CSR_CAMERASTATUS::SetProtocolError(ProtocolErrorHandler::EPROT_ERR_VAL)': 
csr_camerastatus.o(.gnu.linkonce.t._ZThn24_N16CSR_CAMERASTATUS16SetProtocolErrorEN20ProtocolErrorHandler13EPROT_ERR_VALE+0x2):
 
relocation truncated to fit: R_ARM_THM_PC11 
CSR_CAMERASTATUS::SetProtocolError(ProtocolErrorHandler::EPROT_ERR_VAL)

Reply via email to