Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V2.0.8.22, V2.0.8.23, V2.0.8.24, V2.0.8.25, V2.0.8.26, V2.0.8.27, V2.1.1.0, V2.1.2.0, V2.1.3.0, V2.1.4.0, V2.1.5.0, V2.1.5.1, V2.1.6.0, V2.1.6.1, V2.1.7.0, V2.1.7.1, V2.1.8.0, V2.1.8.1, V2.1.9.0, V2.1.9.1, V2.1.10.0, V2.1.11.0, V2.1.11.1, V2.1.11.2, V2.1.11.3
-
Component/s: Module Loader
-
Labels:None
-
Account:SDO rcX (SDORCX)
Description
GNU Toolchains may produce untyped symbols in relocatable Elf files. These untyped symbols don't contain any information about the destination being Thumb or ARM (st_value is alway 0). The module loader interprets st_value as destination being in ARM mode (as lowest bit of st_value decides if destination is ARM or Thumb), but this is only valid for function destinations.
Section destinations (e.g. .text) are expected to already contain correct interworking code.
Sample relocation entry of a section (arm-elf-readelf -r output):
Offset Info Type Sym.Value Sym. Name
|
000063e4 0000010a R_ARM_THM_CALL 00000000 .text
|
See:
https://sourceware.org/ml/binutils/2013-03/msg00005.html
If the destination is a Thumb entry the module will crash
Attachments
Issue Links
- relates to
-
RCX-769 NXO's containing R_ARM_THM_CALL relocations from Thumb to ARM may crash (if elf file contains wrong opcode)
- Closed