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

Temp file name collision causes compilation failure at --opt_level=4

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • Code Generation Tools
    • CODEGEN-9399
    • Show
      https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000-microcontrollers---internal/f/c2000-microcontrollers---internal-forum/1053114/ccstudio-c2000-strange-compiler-errors-with-ti-cgt-20-x-lts-linux
    • Hide
      C6000_8.3.0
      MSP430_20.2.0.LTS
      ARM_18.12.0.LTS
      MSP430_18.12.0.LTS
      ARM_20.2.0.LTS
      C2000_18.12.0.LTS
      C2000_20.2.0.LTS
      Show
      C6000_8.3.0 MSP430_20.2.0.LTS ARM_18.12.0.LTS MSP430_18.12.0.LTS ARM_20.2.0.LTS C2000_18.12.0.LTS C2000_20.2.0.LTS
    • Hide
      C2000_20.2.6.LTS
      C2000_21.12.0.STS
      C2000_18.12.9.LTS*
      ARM_20.2.6.LTS
      MSP430_18.12.9.LTS*
      C6000_8.3.12*
      ARM_18.12.9.LTS*
      MSP430_20.2.6.LTS
      Show
      C2000_20.2.6.LTS C2000_21.12.0.STS C2000_18.12.9.LTS* ARM_20.2.6.LTS MSP430_18.12.9.LTS* C6000_8.3.12* ARM_18.12.9.LTS* MSP430_20.2.6.LTS
    • default
    • Hide
      Specify a unique temp file directory for each link step using the "-ft" shell option. The easiest thing to do would be to use a temp file directory based on the name of the output executable file directory, like so:
      cl2000 program.c -ft tmp/exe1 -O4 -z -o exe1/program.out
      Show
      Specify a unique temp file directory for each link step using the "-ft" shell option. The easiest thing to do would be to use a temp file directory based on the name of the output executable file directory, like so: cl2000 program.c -ft tmp/exe1 -O4 -z -o exe1/program.out
    • Hide
      If multiple compiler invocations are running in parallel (such as with make -j), and both invocations link an executable object file with the same base name (excluding directory), and -O4 (link time optimization) is used, a race condition is created and one invocation might overwrite a temporary file used for link time optimization, corrupting one or both compilations. This problem would occur intermittently.
      Show
      If multiple compiler invocations are running in parallel (such as with make -j), and both invocations link an executable object file with the same base name (excluding directory), and -O4 (link time optimization) is used, a race condition is created and one invocation might overwrite a temporary file used for link time optimization, corrupting one or both compilations. This problem would occur intermittently.

      When doing parallel builds of the same source, in combination with --opt_level=4, the builds intermittently fail with diagnostics similar to ...

      >> Cannot Open Input icode File, No such file or directory : lto_program_name.if, Aborting                
      
      >> Compilation failure                
      
      fatal error #10192: Failed linktime optimization
      

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

              Created:
              Updated:
              Resolved: