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.

Compiler/am5726: Difference with elf file on CGT8.1.4 WIN and Linux

Part Number: AM5726
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI C/C++ Compiler

Hi Expert,

Ctm want to use Linux and Windows host to build same project. But we find the bin file exacted from ELF from CGT8.1.4 WIN and LINUX version are different, from CGT7.4.18, the bin files are same. Could you please help to tell why the result is different?

Attached is the map file from CGT 7.4.18 and 8.1.4. 

Regards,

Allen

cgt_map.7z

  • The main difference in the 8.1.4 build is the size of the function ti_sysbios_knl_Semaphore_pend__E.  On PC it is 0x7e0 bytes.  On Linux it is 0x800 bytes.  This function is placed early in the .text output section.  This causes all the functions in .text, that are after ti_sysbios_knl_Semaphore_pend__E, to have a different address.  

    The sections .far and .vecs are also allocated differently.  But I wouldn't worry about that right now.  Focus on explaining why that BIOS function changed size.

    Thanks and regards,

    -George