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 >>>>> [kristof...@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. _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

