public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] building jornada_config _armboot_start undeclared (first use in this function)
Date: Fri, 22 Oct 2010 20:58:35 +0200	[thread overview]
Message-ID: <4CC1DEDB.1060601@free.fr> (raw)
In-Reply-To: <20101022183801.GA1038@boggieman.bredbandsbolaget.se>

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.

  reply	other threads:[~2010-10-22 18:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-22 13:07 [U-Boot] building jornada_config _armboot_start undeclared (first use in this function) Kristoffer Ericson
2010-10-22 13:22 ` Albert ARIBAUD
2010-10-22 14:33   ` Kristoffer Ericson
2010-10-22 15:01   ` Kristoffer Ericson
2010-10-22 15:26     ` Albert ARIBAUD
2010-10-22 18:38       ` Kristoffer Ericson
2010-10-22 18:58         ` Albert ARIBAUD [this message]
2010-10-22 20:47           ` Wolfgang Denk
2010-10-22 21:51             ` Albert ARIBAUD
2010-10-22 22:22               ` Kristoffer Ericson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CC1DEDB.1060601@free.fr \
    --to=albert.aribaud@free.fr \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox