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

NXO's containing untyped symbols in R_ARM_THM_CALL relocations may crash

    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
    • Fix Version/s: V2.0.8.28, V2.1.11.4, V2.1.12.0
    • 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

            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: