This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6000-CGT: CGT 8.5.0 update breaking build

Part Number: C6000-CGT
Other Parts Discussed in Thread: SYSBIOS

Hello Team,

Attempting to update from v8.2.2 to v8.5.0.

Seeing the following linker error:

INTERNAL ERROR: c:\ti\ccsv7\tools\compiler\ti-cgt-c6000_8.5.0.LTS\bin\lnk6x.exe experienced a segmentation fault

This is caused by a defect in the TI Linker.
TI Customer Support may be able to suggest a workaround to avoid this.

Upgrading to the newest version of the compiler may fix this problem.

Contact TI on the E2E support forums at http://e2e.ti.com

We need to see this ENTIRE error message and a complete, reproducible
test case including ALL of the command-line options.
Include all of the object files, libraries, and linker command files
used to link the program.

Perhaps something will be obviously incompatible knowing the broader recipe:

DEPOT = $(TI_ROOT)
CCS = ccsv7
CCS_BASE = $(DEPOT)/$(CCS)/ccs_base

#### BIOS-side dependencies ####
BIOS_INSTALL_DIR      = $(DEPOT)/bios_6_52_00_12
EDMA3_LLD_INSTALL_DIR = $(DEPOT)/edma3_lld_2_12_05_30B
IPC_INSTALL_DIR       = $(DEPOT)/ipc_3_47_00_00
NDK_INSTALL_DIR       = $(DEPOT)/ndk_2_26_00_08
PDK_INSTALL_DIR       = $(DEPOT)/pdk_c667x_2_0_8
UIA_INSTALL_DIR       = $(DEPOT)/uia_2_21_02_07
XDC_INSTALL_DIR       = $(DEPOT)/xdctools_3_50_03_33_core

#### BIOS-side toolchains ####
ti.targets.elf.C66 = $(DEPOT)/$(CCS)/tools/compiler/ti-cgt-c6000_8.5.0.LTS

Otherwise, below is the build log:

#
# Making core0 ...
make -C core0 PROCLIST="core0 core1"
make[1]: Entering directory `/c/git/csm/core0'
make PROFILE=release PROCLIST="core0 core1" server_core0.x
make[2]: Entering directory `/c/git/csm/core0'
#
# Making bin/release/configuro/linker.cmd ...
c:/ti/xdctools_3_50_03_33_core/xs \
                --xdcpath="c:/ti/bios_6_52_00_12/packages;c:/ti/edma3_lld_2_12_05_30B/packages;c:/ti/ipc_3_47_00_00/packages;c:/ti/ndk_2_26_00_08/packages;c:/ti/pdk_c667x_2_0_8/packages;c:/ti/uia_2_21_02_07/packages;c:/ti/xdctools_3_50_03_33_core/packages" \
                xdc.tools.configuro \
                        -o bin/release/configuro \
                        -t ti.targets.elf.C66 \
                        -c c:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.5.0.LTS \
                        -p ti.platforms.evm6678:core0 \
                        -b ../shared/config.bld \
                        -r release \
                        --cfgArgs \
                        "{ \
                                procList: \"core0 core1\", \
                                profile: \"release\" \
                        }" Core0.cfg
making package.mak (because of package.bld) ...
generating interfaces for package configuro (because package/package.xdc.inc is older than package.xdc) ...
configuring Core0.xe66 from package/cfg/Core0_pe66.cfg ...
generating custom ti.sysbios library makefile ...
generating custom ti.sdo.utils library makefile ...
generating custom ti.sdo.ipc library makefile ...
        Linking with library ti.transport.ndk.nimu:./lib/c6678/c66/release/ti.transport.ndk.nimu.ae66
        Linking with library ti.osal:./lib/tirtos/c66/release/ti.osal.ae66
        Linking with library ti.csl:./lib/c6678/c66/release/ti.csl.ae66;./lib/c6678/c66/release/ti.csl.intc.ae66
        Linking with library ti.drv.rm:./lib/c66/ti.drv.rm.ae66
        Linking with library ti.drv.qmss:./lib/c66/ti.drv.qmss.ae66
        Linking with library ti.drv.cppi:./lib/c66/ti.drv.cppi.ae66
        Linking with library ti.drv.pa:./lib/c66/ti.drv.pa.ae66
Starting build of library sources ...
making c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/ipc.ae66 ...
gmake[1]: Entering directory `c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/ipc'
cle66 C:/ti/ipc_3_47_00_00/packages/ti/sdo/utils/NameServer.c ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/GateMP.c", line 302: warning #190-D: enumerated type mixed with another type
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/GateMP.c", line 387: remark #2911-D: comparison between two different enum types ("enum ti_sdo_ipc_GateMP_RemoteProtect" and "enum GateMP_RemoteProtect")
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/GateMP.c", line 411: warning #190-D: enumerated type mixed with another type
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/GateMP.c", line 662: remark #2142-D: comparison between signed and unsigned operands
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/GateMP.c", line 1083: remark #2911-D: comparison between two different enum types ("enum ti_sdo_ipc_GateMP_RemoteProtect" and "enum GateMP_RemoteProtect")
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/GateMP.c", line 1206: warning #190-D: enumerated type mixed with another type
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/GateMP.c", line 1565: remark #2142-D: comparison between signed and unsigned operands
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/Ipc.c", line 323: remark #2142-D: comparison between signed and unsigned operands
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/Ipc.c", line 502: remark #2142-D: comparison between signed and unsigned operands
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/gates/GateHWSem.c", line 56: remark #2142-D: comparison between signed and unsigned operands
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/notifyDrivers/NotifyDriverShm.c", line 239: remark #2142-D: comparison between signed and unsigned operands
"C:/ti/ipc_3_47_00_00/packages/ti/sdo/ipc/notifyDrivers/NotifyDriverShm.c", line 327: remark #2142-D: comparison between signed and unsigned operands
are66 Ipc.obj ...
gmake[1]: Leaving directory `c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/ipc'
making c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/utils.ae66 ...
gmake[1]: Entering directory `c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/utils'
cle66 C:/ti/ipc_3_47_00_00/packages/ti/sdo/utils/UTILS.c ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
are66 UTILS.obj ...
gmake[1]: Leaving directory `c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/utils'
making c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/sysbios/sysbios.ae66 ...
gmake[1]: Entering directory `c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/sysbios'
cle66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/BIOS.c ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
asme66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/family/c64p/Exception_asm.s64P ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
asme66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/family/c64p/Hwi_asm.s62 ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
asme66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/family/c64p/Hwi_asm_switch.s62 ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
asme66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/family/c64p/Hwi_disp_always.s64P ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
asme66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/timers/timer64/Timer_asm.s64P ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
asme66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/rts/ti/tls_get_tp.asm ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
asme66 C:/ti/bios_6_52_00_12/packages/ti/sysbios/family/c62/TaskSupport_asm.s62 ...
remark #24038-D: --optimize_with_debug is deprecated and will be removed in a
   subsequent release. The behavior is enabled by default.
are66 BIOS.obj c64p_Exception_asm.obj c64p_Hwi_asm.obj c64p_Hwi_asm_switch.obj c64p_Hwi_disp_always.obj timer64_Timer_asm.obj ti_tls_get_tp.obj c62_TaskSupport_asm.obj ...
gmake[1]: Leaving directory `c:/core0/bin/release/configuro/package/cfg/Core0_pe66.src/sysbios'
Build of libraries done.
cle66 package/cfg/Core0_pe66.c ...
"package/cfg/Core0_pe66.c", line 33092: warning #112-D: statement is unreachable
#
# Making bin/release/obj/Version.oe66 ...
c:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.5.0.LTS/bin/cl6x --compile_only  --opt_level=2  --include_path="../shared" --c99 --cmd_file=bin/release/configuro/compiler.opt --diag_suppress=195 --diag_suppress=270 --diag_suppress=681 --diag_suppress=880 --diag_suppress=2142 --diag_warning=225 --diag_wrap=off --display_error_number --define=SOC_C6678 --define=DEVICE_C6678 --gen_func_subsections --interrupt_threshold=10 --issue_remarks --preproc_dependency=bin/release/obj/Version.oe66.dep --preproc_with_compile --program_level_compile --define=_HAVE_HARDWARE_VXI --define=_HAVE_HARDWARE_FRONT_PANEL  --output_file=bin/release/obj/Version.oe66 -fc Version.c
<Optimizing>
<Generating>
<Assembling>
#
# Making bin/release/server_core0.xe66 ...
c:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.5.0.LTS/bin/cl6x --run_linker --map_file=bin/release/obj/server_core0.xe66.map --reread_libs --rom_model --warn_sections  --search_path=c:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.5.0.LTS/lib --search_path=c:/ti/pdk_c667x_2_0_8/packages/ti/csl/lib/c6678/c66/release --search_path=c:/ti/pdk_c667x_2_0_8/packages/ti/platform/evmc6678l/platform_lib/lib/release  -o bin/release/server_core0.xe66 bin/release/obj/Error.oe66 bin/release/obj/Flash.oe66 bin/release/obj/global-resource-list.oe66 bin/release/obj/GPIO.oe66 bin/release/obj/HostComm.oe66 bin/release/obj/Log.oe66 bin/release/obj/MainCore0.oe66 bin/release/obj/nandwriter.oe66 bin/release/obj/nimu_cppi_qmss_iface.oe66 bin/release/obj/nimu_osal.oe66 bin/release/obj/nimu_pa_iface.oe66 bin/release/obj/policy_dsp-only.oe66 bin/release/obj/Servers.oe66 bin/release/obj/setuprm.oe66 bin/release/obj/Timer.oe66 bin/release/obj/UART.oe66 bin/release/obj/Version.oe66 bin/release/obj/VXI.oe66 bin/release/configuro/linker.cmd --library=libc.a --library=ti.csl.ae66 --library=ti.platform.evm6678l.ae66
<Linking>

INTERNAL ERROR: c:\ti\ccsv7\tools\compiler\ti-cgt-c6000_8.5.0.LTS\bin\lnk6x.exe experienced a segmentation fault

This is caused by a defect in the TI Linker.
TI Customer Support may be able to suggest a workaround to avoid this.

Upgrading to the newest version of the compiler may fix this problem.

Contact TI on the E2E support forums at http://e2e.ti.com

We need to see this ENTIRE error message and a complete, reproducible
test case including ALL of the command-line options.
Include all of the object files, libraries, and linker command files
used to link the program.


>> Compilation failure
make[2]: *** [bin/release/server_core0.xe66] Error 1
make[2]: Leaving directory `/c/git/csm/core0'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/c/git/csm/core0'
make: *** [core0] Error 2

 

Regards,

Renan

 

 

  • Hello Experts,

    Any update?

    Regards,

    Renan

  • I apologize for the delay.

    I need a test case that allows me the reproduce the behavior.  That requires a test case that contains everything the linker sees.  I realize this is a lot to ask.  But I see no other way forward.  The error diagnostic states:

    We need to see this ENTIRE error message and a complete, reproducible
    test case including ALL of the command-line options.
    Include all of the object files, libraries, and linker command files
    used to link the program.

    Here is a procedure for creating that test case. The idea is to recreate not the entire build, but only the link step.  Please view these directions loosely.  Some small changes may be needed.

    • Capture the text of the linker command, exactly as it seen by cl6x, in a text file.  Note all the build variables must be replaced with their contents. Call this text file lc.txt.
    • Put lc.txt in an empty directory, which is referred to as $tcd (test case directory)
    • Edit lc.txt and replace every space with a newline
    • The first line ends with cl6x.  Remove it.
    • Process the remaining lines, one line at time.
    • For an object file, copy it into $tcd, then edit the line to get the file from the current directory.
    • For a library, copy it into $tcd, then edit the line to get the file from the current directory.   The MODULE SUMMARY part of the linker map file shows the directory location of every library.  If the line begins with -l (lower case l), or -L, or --library, remove that option.  
    • For a linker command file, copy it into $tcd, then edit the line to get the file from the current directory.  Then edit the $tcd copy of the linker command file.  If it refers to any object files, libraries, or options, recursively apply this procedure to those files or options.
    • If it is an option that names a directory, such as  -I (upper case I) or --search_path, remove it
    • If it is an option that names an output file, change it to put the file in the current directory
    • All other options require no changes.

    Test with this command …

    cl6x -@lc.txt

    Zip up $tcd and attach it to your next post.

    I can see the linker command in your post.  Therefore, I can show the contents of lc.txt after the 4th step is complete.

    --run_linker
    --map_file=bin/release/obj/server_core0.xe66.map
    --reread_libs
    --rom_model
    --warn_sections
    
    --search_path=c:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.5.0.LTS/lib
    --search_path=c:/ti/pdk_c667x_2_0_8/packages/ti/csl/lib/c6678/c66/release
    --search_path=c:/ti/pdk_c667x_2_0_8/packages/ti/platform/evmc6678l/platform_lib/lib/release
    
    -o
    bin/release/server_core0.xe66
    bin/release/obj/Error.oe66
    bin/release/obj/Flash.oe66
    bin/release/obj/global-resource-list.oe66
    bin/release/obj/GPIO.oe66
    bin/release/obj/HostComm.oe66
    bin/release/obj/Log.oe66
    bin/release/obj/MainCore0.oe66
    bin/release/obj/nandwriter.oe66
    bin/release/obj/nimu_cppi_qmss_iface.oe66
    bin/release/obj/nimu_osal.oe66
    bin/release/obj/nimu_pa_iface.oe66
    bin/release/obj/policy_dsp-only.oe66
    bin/release/obj/Servers.oe66
    bin/release/obj/setuprm.oe66
    bin/release/obj/Timer.oe66
    bin/release/obj/UART.oe66
    bin/release/obj/Version.oe66
    bin/release/obj/VXI.oe66
    bin/release/configuro/linker.cmd
    --library=libc.a
    --library=ti.csl.ae66
    --library=ti.platform.evm6678l.ae66

    Thanks and regards,

    -George

  • Thank you for the test case.  I am able to reproduce the same behavior.  I filed the entry EXT_EP-13150 to have this investigated.  You are welcome to follow it with that link.

    Thanks and regards,

    -George