I am developing an application on a custom hardware platform with a TMS320C6421 DSP. I have a problem related to the Linker. The Code Composer Studio V3.3 Linker is pulling in several libraries, two of which are listed below (i.e. I am NOT explicitly including these libraries). The Linker is complaining about multiple function defines. I’ve copied the messages below. I edited the ‘evmdm6437cfg.cmd’ file by commenting out the rts64pluse.lib and one result was that my app couldn’t divide anymore. I did not try or want to delete the bios library. I’ve also tried checking/unchecking the ‘resolve Symbols to first library’ checkbox under the Linker/advanced tab with no improvement. Can anyone provide an explicit solution. I am not interested in a description of what the error message means or suggestions of getting rid of my heap and replacing my malloc calls with explicit memory allocations. I am also not interested in the 'try this and let me know what happens' approach. I am looking for a professional understanding of the problem and a professional solution from professionals who have created and used Code Composer Studio and the Compiler/Linker tool set.
>> error: symbol _memalign is defined multiple times: malloc.o64Pe
(C:/CCStudio_v3.3/bios_5_31_02/packages/ti/bios/lib/bios_NONINST.a64Pe) and memory.obj (C:/CCStudio_v3.3/C6000/cgtools/lib/rts64pluse.lib)
>> error: symbol _malloc is defined multiple times: malloc.o64Pe
(C:/CCStudio_v3.3/bios_5_31_02/packages/ti/bios/lib/bios_NONINST.a64Pe) and memory.obj (C:/CCStudio_v3.3/C6000/cgtools/lib/rts64pluse.lib)
>> error: symbol _realloc is defined multiple times: malloc.o64Pe
(C:/CCStudio_v3.3/bios_5_31_02/packages/ti/bios/lib/bios_NONINST.a64Pe) and memory.obj (C:/CCStudio_v3.3/C6000/cgtools/lib/rts64pluse.lib)
>> error: symbol _free is defined multiple times: malloc.o64Pe
(C:/CCStudio_v3.3/bios_5_31_02/packages/ti/bios/lib/bios_NONINST.a64Pe) and memory.obj (C:/CCStudio_v3.3/C6000/cgtools/lib/rts64pluse.lib)
>> error: symbol _calloc is defined multiple times: malloc.o64Pe
(C:/CCStudio_v3.3/bios_5_31_02/packages/ti/bios/lib/bios_NONINST.a64Pe) and memory.obj (C:/CCStudio_v3.3/C6000/cgtools/lib/rts64pluse.lib)