Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-11092

Linker is inconsistent about finding object files specified in a SECTIONS directive

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Not Prioritized Not Prioritized

      Extract works.zip into an empty directory.  The linker command file has these lines ...

              output_section
      	{
      	    sf.obj(.text)
      	} load = EXT,
      	  run = RAM1,
      	  load_start(_loadname),
      	  load_size(_loadsize),
      	  run_start(_runname),
      	  align(4)
      

      Note how sf.obj is specified. It is located in a sub-directory. Build with these commands ...

      C:\examples>cl2000 main.cpp
      
      C:\examples>cd subdir
      
      C:\examples\subdir>cl2000 sf.cpp
      
      C:\examples\subdir>cd ..
      
      C:\examples>cl2000 -z main.obj subdir\sf.obj -o main.out -m main.map link2000.cmd
      <Linking>
      

      It builds clean.

      Extract linker_bug.zip into a different empty directory. The linker command file f2838x_flash_lnk_cpu1.cmd has these lines ...

         ModelProg :
         {
            CharacterizationModel.obj(.text)
         }
                       LOAD = FLASH13,
                       RUN = RAMGS0_1,
                       LOAD_START(_ModelProg_loadStart),
                       LOAD_SIZE(_ModelProg_loadSize),
                       RUN_START(_ModelProg_runStart),
                       ALIGN(4)
      

      Similar to the first example, CharacterizationModel.obj is specified with no path information. It is located in a sub-directory. It is specified to the link command with the full path: subdir/CharacterizationModel.obj

      Build it ...

      C:\different>cl2000 -@ top_level.txt
      <Linking>
      "f2838x_flash_lnk_cpu1.cmd", line 97: error #10008-D: cannot find file "CharacterizationModel.obj"
      error #10010: errors encountered during linking; "fw-project404.out" not built
      
      >> Compilation failure
      

      Even though the builds are similar, the second one fails.

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: