LFU build with multiple object files with the same global-static variable name that are lfu-preserved may generate linker errors

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • Code Generation Tools
    • CODEGEN-11329
    • Hide
      C2000_22.6.0.LTS
      C2000_21.6.0.LTS
      Show
      C2000_22.6.0.LTS C2000_21.6.0.LTS
    • Hide
      C2000_25.3.0.LTS*
      C2000_22.6.1.LTS
      C2000_21.6.2.LTS*
      Show
      C2000_25.3.0.LTS* C2000_22.6.1.LTS C2000_21.6.2.LTS*
    • default
    • None

      When using the lfu feature (--lfu_reference_elf=ref.out) with an application that has the same global-static variable name in multiple object files, and all are marked as preserved (either explicitly or as default preserve setting when not using --lfu_default=none), may result in either of below linker errors:

          error #10099-D: program will not fit into available memory, or the 
          section contains a call site that requires a trampoline that can't 
          be generated for this section. placement with alignment/blocking 
          fails for section:
            ".TI.bound:PMBusStack_commandTransactionMap" size 0x43 page 0, 
          overlaps with: 
            ".TI.bound:PMBusStack_commandTransactionMap", size 0x40 (page 0)

      or:
          ../../master/ELFLNK/collect.c:778:internal fatal error #10478:     
          (.TI.bound:PMBusStack_commandTransactionMap)
          INTERNAL ERROR: lnk2000 had an internal inconsistency and aborted

      The issue is due to lfu preserve behavior where preserved variables are placed in .TI.bound sections at the same address as in the reference executable provided using --lfu_reference_elf=ref.out.  Multiple consecutive .TI.bound sections are combined to reduce the number of cinit records, however, the address retreival from ref.out has a bug where it obtains the same address for all instances of the same global-static variable with same name.

            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-4120 - LFU build with multiple object file...
                SYNCHRONIZED
                • Last Sync Date: