[U-Boot] building jornada_config _armboot_start undeclared (first use in this function)

Albert ARIBAUD albert.aribaud at free.fr
Fri Oct 22 20:58:35 CEST 2010


Le 22/10/2010 20:38, Kristoffer Ericson a écrit :
> On Fri, Oct 22, 2010 at 05:26:33PM +0200, Albert ARIBAUD wrote:
>> Le 22/10/2010 17:01, Kristoffer Ericson a écrit :
>>> On Fri, Oct 22, 2010 at 03:22:58PM +0200, Albert ARIBAUD wrote:
>>>> Le 22/10/2010 15:07, Kristoffer Ericson a écrit :
>>>>> Greetings,
>>>>>
>>>>> Getting this when trying to build (using same toolchain which has worked before).
>>>>> Someone else must have hit this, so before I start bugtracking.
>>>>>
>>>>> Best wishes
>>>>> Kristoffer Ericson
>>>>>
>>>>> arm-linux-ar crv libsa1100.a cpu.o timer.o
>>>>> r - cpu.o
>>>>> r - timer.o
>>>>> make[1]: Leaving directory `/home/kristoffer/work/projects/u-boot.git/arch/arm/cpu/sa1100'
>>>>> make -C arch/arm/lib/
>>>>> make[1]: Entering directory `/home/kristoffer/work/projects/u-boot.git/arch/arm/lib'
>>>>> arm-linux-gcc  -g  -Os   -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0xC1F00000 -I/home/kristoffer/work/projects/u-boot.git/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/lib/gcc/arm-softfloat-linux-gnu/3.4.5/include -pipe  -DCONFIG_SYS_ARM_WITHOUT_RELOC -DCONFIG_ARM -D__ARM__ -marm   -mapcs-32 -mno-thumb-interwork  -march=armv4 -mtune=strongarm1100 -Wall -Wstrict-prototypes    \
>>>>> 		-o board.o board.c -c
>>>>> board.c: In function `start_armboot':
>>>>> board.c:293: error: `_armboot_start' undeclared (first use in this function)
>>>>> board.c:293: error: (Each undeclared identifier is reported only once
>>>>> board.c:293: error: for each function it appears in.)
>>>>> board.c:303: error: `_bss_start' undeclared (first use in this function)
>>>>> make[1]: *** [board.o] Fel 1
>>>>> make[1]: Leaving directory `/home/kristoffer/work/projects/u-boot.git/arch/arm/lib'
>>>>> make: *** [arch/arm/lib/libarm.a] Fel 2
>>>>> [kristoffer at boggieman u-boot.git]$
>>>>
>>>> Which branch do you build? If this has ELF relocations (elf_reloc of
>>>> mainline u-boot repo), the board you're compiling probably misses
>>>> support for ELF relocations.
>>>
>>> Forgot that im setting without relocation in the config. Its really weird,
>>> both those (_armboot_start/_bss_start) are declared within arch/cpu/sa1100/start.S
>>> but for some reason doesnt get grabbed/builtin and therefore believed to be undeclared.
>>
>> For board.c to see them as declared, you have to have them in a
>> header file, namely arch/arm/include/asm/u-boot-arm.h, regardless of
>> whether they are defined in start.S. What does your u-boot-arm.h say
>> about them?
>
> They are not included in arch/arm/include/asm/u-boot-arm.h.
> However _bss_start_ofs / _armboot_start_ofs are, not sure if its
> a misspell.

Not exactly misspelled... I renamed them myself in the ELF relocation 
patch -- which means your arch/arm/include/asm/u-boot-arm.h is that of 
the elf_reloc branch -- which means your board.c is not up to date.

> Adding _bss_start + _armboot_start into u-boot-arm.h makes it
> compile nicely :) Big thanks.
> Still cant understand why it showed up now and
> not in my e79f48393dd919079b34f37957c933f8e75c164d revision(from 13th of october).
> And also why people with arm boards arent hitting this all the time, or is everyone running with relocation already?

Everyone should be. Now is a transition period where ARM board owners 
must support (ELF) relocation or else the boards are going to be 
removed, IIUC.

> Anyhow, the quick fix in case someone needs it:

This is not a quick fix; this is a workaround to a weird source tree issue.

Either you should build on the master branch (and then your .h file 
should already have _bss_start and _armboot_start or you build on the 
elf_reloc branch and should not refer to _bss_start and _armboot_start 
but to their _ofs counterparts throughout the code; you can look up how 
this is done on arm926ejs.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list