LFU: location attribute/pragma is ignored with __attribute__(preserve), and __attribute__(update) is ignored when used with location attr/pragma

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • Code Generation Tools
    • CODEGEN-12361
    • 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.2.LTS
      C2000_21.6.2.LTS*
      Show
      C2000_25.3.0.LTS* C2000_22.6.2.LTS C2000_21.6.2.LTS*
    • default
    • Hide
      LOCATION attr/pragma with attribute(preserve) or default preserve:
      ----------------------------------------
      Ensure that the variable's "preserved" address from ref.out is the same
      as the address used in the ignored LOCATION attr/pragma. The lfu
      executable should also have the variable at the same address.

      If the address from LOCATION attr/pragma differs from the variable's
      address in ref.out, then you must determine which address the
      variable should located.

      In order to use the address from ref.out, then keep the preserve attribute
      (or --lfu_default=preserve) and remove the LOCATION attr/pragma.

      In order to use the address from LOCATION attr/pragma, then
      remove the preserve attribute and do the lfu build with
      --lfu_default=none. This should place the variable at the address
      from the LOCATION attr/pragma which may not be the same address
      as in ref.out. NOTE: the variable will not be initialized properly
      for the lfu warm initialization switch over.


      LOCATION attr/pragma with attribute(update):
      ----------------------------------------
      If this variable still needs warm init at lfu switchover, then you
      will need to manually do the warm init at switchover.
      Show
      LOCATION attr/pragma with attribute(preserve) or default preserve: ---------------------------------------- Ensure that the variable's "preserved" address from ref.out is the same as the address used in the ignored LOCATION attr/pragma. The lfu executable should also have the variable at the same address. If the address from LOCATION attr/pragma differs from the variable's address in ref.out, then you must determine which address the variable should located. In order to use the address from ref.out, then keep the preserve attribute (or --lfu_default=preserve) and remove the LOCATION attr/pragma. In order to use the address from LOCATION attr/pragma, then remove the preserve attribute and do the lfu build with --lfu_default=none. This should place the variable at the address from the LOCATION attr/pragma which may not be the same address as in ref.out. NOTE: the variable will not be initialized properly for the lfu warm initialization switch over. LOCATION attr/pragma with attribute(update): ---------------------------------------- If this variable still needs warm init at lfu switchover, then you will need to manually do the warm init at switchover.

      For --lfu compile/links:
      for a variable that has LOCATION attribute/pragma combined with either
      attribute(update) or attribute(preserve) or default lfu preserve, the
      following issues occur:

      LOCATION with attribute(preserve) or default lfu preserve:
      -----------------------------------------------------------------
      For an lfu build, LOCATION attr/pragma is silently ignored when used with
      attribute(preserve) or default lfu preserve. The variable's memory address
      will be the same as in the reference executable from option: -lfu=ref.out

      LOCATION with attribute(update):
      --------------------------------------------
      For an lfu build, LOCATION attr/pragma is used instead of
      attribute(update) and the update attribute is silently ignored.
      The variable receives no lfu warm init entry.

            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-4803 - LFU: location attribute/pragma is i...
                SYNCHRONIZED
                • Last Sync Date: