linkcmds symbol file with unknown symbol type '?'

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Sep 6 05:50:23 UTC 2017


On 06/09/17 07:16, Till Straumann wrote:

> The '?' results from symbols having been defined in sections that have 
> not linked any
> input sections such as
>
> .some_section {
>   some_section_begin = .;
>   *(.some_section*);
>   some_section_end = .;
> }
>
> If no '.some_section' is linked then the linker doesn't know how to 
> classify
> 'some_section_begin/some_section_end' (data?, text?)
>
> Traditionally we had defined such symbols *outside* of a section:
>
> some_section_begin = .;
> .some_section{
>   *(.some_section*);
> }
> some_section_end = .; 

The linkcmds.base uses for example:

     .fast_text : ALIGN_WITH_INPUT {
         bsp_section_fast_text_begin = .;
         *(.bsp_fast_text)
         bsp_section_fast_text_end = .;
     } > REGION_FAST_TEXT AT > REGION_FAST_TEXT_LOAD
     bsp_section_fast_text_size = bsp_section_fast_text_end - 
bsp_section_fast_text_begin;
     bsp_section_fast_text_load_begin = LOADADDR (.fast_text);
     bsp_section_fast_text_load_end = bsp_section_fast_text_load_begin + 
bsp_section_fast_text_size;

Due to the use of > and AT > to define the memory regions, I don't think 
we can place the begin/end symbols outside the output sections.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the users mailing list