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.
I have a C64x project that is successfully building a COFF binary. I am trying to get it to build as an ELF binary as that is all that I have working with syslink right now. (I am ultimately targeting the DSP on the OMAP3530)
When I build for ELF, I suddenly get missing symbols from the AES64plus TI library. My first thought was that this .lib file was built for COFF and thus causing issues. I updated the make file to include --abi=eabi so that it builds for ELF, but that did not resolve the issue.
Does anyone have any idea as to what would cause a link error only when building for elf?
More specifically, my DSP build is targeting ti.targets.elf.C64P
Is the missing symbols in assembly functions by any chance or all symbols from AES64plus lib are missing ?
the main thing missing is AES128_keySchedule which is in aes128_keyschedule.sa. The other symbols in the lib file seem to be found.
From your comment, I just found this: http://processors.wiki.ti.com/index.php/C6000_EABI_Migration#Assembly_Code_Changes_.28C_and_C.2B.2B_ABI_Changes.29
Sounds like I need to provide a symbol without the _ prefix that COFF expects. I'll try that now.
OK. That worked. I followed the Conditional Redefine Method on the wiki for any assembly functions that get called from C.
Just a suggestion, I would be nice if TI updated their libraries to provide elf builds as well as coff. I know most of them do, but somehow Aes64Plus slipped through the cracks.
Thanks for the help.