Uploaded image for project: 'rcX - Operating System'
  1. rcX - Operating System
  2. RCX-769

NXO's containing R_ARM_THM_CALL relocations from Thumb to ARM may crash (if elf file contains wrong opcode)

    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
    • Fix Version/s: V2.0.8.28
    • Component/s: Module Loader
    • Labels:
      None
    • Account:
      SDO rcX (SDORCX)

      Description

      Non-interworking ready object files containin a BL instruction which jumps from Thumb to ARM code. This BL is exchanged by linker when building a loadable firmware, but the module loader in rcX behaves as descibes in ARM's EABI ELF documentation and keeps the BL intact, thus the destination function is called in thumb mode, and crashes.

      Objects compiled with interworking support usually already provide the required BLX, but some libraries (like libstdc++.a) seem to not provide interworking code

        Attachments

          Issue Links

            Expenses

              Activity

                Status Description

                  People

                  • Reporter:
                    MTrensch Michael Trensch
                  • Votes:
                    0 Vote for this issue
                    Watchers:
                    0 Start watching this issue

                    Dates

                    • Created:
                      Updated:
                      Resolved: