Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-10689

Conflicting library definitions for __mpu_init() when using Clang compiler

    XMLWordPrintable

Details

    • Bug
    • Status: Declined
    • Low
    • Resolution: Won't Fix
    • PDK
    • PDK-10844
    • PROCESSOR_SDK_08.01.00
    • PROCESSOR_SDK_08.02.00
    • Hide
      am65xx-evm
      j721e-evm
      j7200-evm
      Show
      am65xx-evm j721e-evm j7200-evm
    • The solution to the issue is already available and implemented

    Description

      When using the static libraries created by the PDK (make pdk_libs), the ti.csl.init.aer5f library contains a definition for __mpu_init() when build for the R5F cores. The library libc.a from the Clang compiler also contains a definition for __mpu_init().

      Currently, unless the order of the library inclusion has the ti.csl.init.aer5f first in the linker command, another library might (very possibly) pull in libc.a before ti.csl.init.aer5f.

       

      Current fix:

      1) Ensure ti.csl.init.aer5f is the first library included in the linker command.

      2) Use the --priority flag for the linker to ensure that the function is pulled from ti.csl.init.aer5f

       

      Possible bugs:

      • If the libc.a is needed before the __mpu_init() call, libc.a might still be pulled in before ti.csl.init.aer5f is even linked
      • IF other libraries experience a similar conflict with libc.a (or any other RTS lib), there could be a deadlock where one library won't be able to be linked before libc.a

       

       

       

       

      Attachments

        Activity

          People

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: