I'd like to build project in CCSv5 using gcc. It's CodeSourcery arm-2009q1-161-arm-none-eabi. I referred to the site below.
I saw the warning about unmatched enumeration. I understood that I have to link some object files using 32-bit enumeration. These object files are DM36x codec from TI.
C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin\arm-none-eabi-ld.exe: warning: '/cygdrive/d/soft/test_project/libjpgenc.a'(jpegenc_ti_ires.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
So, I added compiler option with -fno-short-enums. Then it's OK to link these object files correctly. But libgcc.a has similar warning.
C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin\arm-none-eabi-ld.exe: warning: C:/Program Files/CodeSourcery/Sourcery G++ Lite/lib/gcc/arm-none-eabi/4.3.3/libgcc.a(_divdi3.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail
I can resolve this warning by adding linker option with --no-enum-size-warning. But I don't know whether cpu semantics are correct. Should I rebuild gcc library with 32-bit enums?