All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.