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.

Error with arm compiler and TI linker

Hi ,

I downloaded evaluation version of RVDS4 to get the arm compiler and would like to compile ARM968 code. I was able to compile successfully but not able to link using TI's ln470.exe linker with rts library (rtsv5_A_le_eabi.lib).

I am trying to compile and link simple hello.c file and getting the following error while linking.

 

D:\Radhesh\Release\DEV.500.V.MPEG4.E.SP.IVAHD.00.02.00.00_RVDS\IVA_HD\enc\mpeg4\icont\build\icont1\Obj>LNK470 hello.o  -o icont1.out -m icont1.map -l

..\Icont1.cmd -l D:\CGT_4_5_1\lib\rtsv5_A_le_eabi.lib

fatal error: file

   "D:\CGT_4_5_1\lib\rtsv5_A_le_eabi.lib<copy_decompress_none.obj>" has a

   Tag_ABI_enum_size attribute value of "1" that is different than one

   previously seen ("2"); combining incompatible files

  • Radesh,

    The error message you are receiving is due to the enum size being different in the object files. The value of 2 for Tag_ABI_enum_size means that enums are 32 bits. A value of 1 means they are packed. Are you building hello.o with the --enum_type=int option?

    What version of the tools are you using? The attribute was not set in object files prior to 4.5.3. In 4.5.3 and newer releases, the attribute is set, but the RTS is built in such a way that it can be linked with object files with an enum type of packed or int.

     

    Cody

  • Radesh,

    I just realized that you are using the RVDS compiler to compile hello.o. I misread your post. Are you compiling with the --enum_is_int option? If so, this is the source of the error. You can either omit this option, or upgrade to compiler version 4.5.3 or higher which will allow linking the RTS library with object files using 32-bit enums. You will probably also need to compile with the --library_interface=aeabi_clib option in order for the object files to work with our RTS.