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.

unresolved symbols remain

Dear All,

we are facing some linker problem., memory sections are defined in our linker.cmd file is like this

  IROM                  11700000   00100000  00000000  00100000  R  X
  CFGIRAM1              11800000   00000200  000001a0  00000060  RW X
  CFGIRAM2              11800200   00000600  00000000  00000600  RW X
  IRAM                  11800800   0003fa00  00035823  0000a1dd  RW X
  L1PSRAM               11e00000   00008000  00000000  00008000  RW X
  L1DSRAM               11f00000   00008000  00000000  00008000  RW  
  L3_CBA_RAM            80000000   00020000  00000000  00020000  RW X
  DDR2_DATA             c0000000   00500000  00004800  004fb800  RW X
  DDR2_CODE             c0500000   00500000  00012740  004ed8c0  RW X

object files are created for every file containing in project but unable to map in .MAP file for some files, if any function called from those files, compiler will through error like this.  

 undefined first referenced             
  symbol       in file                  
 --------- ----------------             
 _BootInit ./Application/boot_6746_A.obj

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking;
   "../../../Out/ss4_main_1_10.out" not built

>> Compilation failure
gmake: *** [../../../Out/ss4_main_1_10.out] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

help me out

With regards,

Ravi

  • The error means that boot_6746_A.obj is referencing the symbol BootInit but cannot find a definition for it. Make sure you include the source file or library that contains the definition for BootInit to your project.

    More information at http://processors.wiki.ti.com/index.php/Build_Errors_in_CCS#Error:_unresolved_symbols_remain

  • Hi AartiG,

    The function which is calling (_BootInit), defined in boot_6746_C.c which is already included and also this file is not using any other libraries, means is independent file.

    and one more thing is in non BIOS environment there is no error when building, when this file is included in BIOS environment it is showing errors like this

    undefined first referenced             
      symbol       in file                  
     --------- ----------------             
     _BootInit ./Application/boot_6746_A.obj

    but boot_6746_C.c file is not linked while building and not found in MAP file.

    Regards,

    Ravi

  • Ravi,

    It is hard to provide more specifics without more details or reproducing the error.

    Which version of CCS are you using? And you say the error occurs in a BIOS project but not in a non-BIOS project?
    Is there a small test case you can send us that can be used to reproduce the error?

  • Hi AartiG,

    These are the detials for CCS5 and BIOS versions which we are using,

    CCS5V:    Version: 5.2.0.00069
    BIOS: bios_6_33_04_39

    currently we are working on secondary bootloader for that we created two files one is in ASM and another one is in C environment,

    BIOS Environment:

    from ASM file we are calling C function at that time CCS5 showing error "unresolved symbol remain" where as if we call same C function from any other file containing in the project it is building fine.Also when we changing the code entry point with this C function that time also CCS5 showing same error "unresolved symbol remain".

    Note: Two files with NonBIOS environment working fine.

    Regards,

    Ravi

  • Are you building for COFF ABI or EABI? The compiler build options (--abi option) should tell you which ABI you are building for. And is the same ABI being used for the BIOS and non-BIOS projects? The reason I ask is because of COFF Underscore name mangling that differs between COFF ABI and EABI. I wonder if that could be the reason for the errors. Please see this wiki section for details: http://processors.wiki.ti.com/index.php/C6000_EABI_Migration#COFF_Underscore_Name_Mangling

    If this is not the reason then, as I said earlier, we would need a small reproducible test case that we can use to reproduce the error and look into it further.

  • Hi AartiG,

    Thanks for your support,

    we are building for Legacy COFF format.

    assembler is generating different names for with BIOS and NonBIOS application. for non BIOS "__Fv" is attachiing end of the function name.

    now it was resolved.

    Reagrds,

    Ravi.