Conflicting library definitions for __mpu_init() when using Clang compiler

XMLWordPrintable

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Low
    • 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

      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

       

       

       

       

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

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-3228 - Conflicting library definitions for...
                SYNCHRONIZED
                • Last Sync Date: