[U-Boot] Microblaze and Sparc boards are broken because of common timer func

Michal Simek monstr at monstr.eu
Tue Nov 12 09:19:28 CET 2013


On 11/12/2013 03:12 AM, Masahiro Yamada wrote:
> Hello, Rob, Tom, Michal, Daniel.
> 
> Commit 8dfafdde88eb (Introduce common timer functions)
> broke Microblaze and Sparc boards.
> 
> $ git checkout 8dfafdde88eb
> $ CROSS_COMPILE=microblaze-unknown-linux-gnu- ./MAKEALL -a microblaze
> <snipped>
> lib/time.c:45: undefined reference to `timer_read_counter'
> lib/libgeneric.o: In function `__udelay':
> lib/time.c:86: relocation truncated to fit: R_MICROBLAZE_32_PCREL_LO
> against symbol `get_ticks' defined in .text section in
> arch/microblaze/cpu/libmicroblaze.o
> lib/time.c:88: relocation truncated to fit: R_MICROBLAZE_32_PCREL_LO
> against symbol `get_ticks' defined in .text section in
> arch/microblaze/cpu/libmicroblaze.o
> lib/libgeneric.o: In function `udelay':
> lib/time.c:101: relocation truncated to fit: R_MICROBLAZE_32_PCREL_LO
> against symbol `__udelay' defined in .text section in
> arch/microblaze/cpu/libmicroblaze.o
> lib/libgeneric.o: In function `timer_get_us':
> lib/time.c:70: relocation truncated to fit: R_MICROBLAZE_32_PCREL_LO
> against symbol `get_ticks' defined in .text section in
> arch/microblaze/cpu/libmicroblaze.o
> lib/libgeneric.o: In function `get_timer':
> lib/time.c:65: relocation truncated to fit: R_MICROBLAZE_32_PCREL_LO
> against symbol `get_ticks' defined in .text section in
> arch/microblaze/cpu/libmicroblaze.o
> 
> 
> 
> $ CROSS_COMPILE=sparc-elf- ./MAKEALL grsim_leon2
> Configuring for grsim_leon2 board...
> sparc-elf-size: './u-boot': No such file
> lib/libgeneric.o: In function `tick_to_time':
> /home/yamada/workspace/arm-linux-pf/u-boot/lib/time.c:56: undefined reference to `get_tbclk'
> lib/libgeneric.o: In function `get_ticks':
> /home/yamada/workspace/arm-linux-pf/u-boot/lib/time.c:45: undefined reference to `timer_read_counter'
> lib/libgeneric.o: In function `usec_to_tick':
> /home/yamada/workspace/arm-linux-pf/u-boot/lib/time.c:74: undefined reference to `get_tbclk'
> /home/yamada/workspace/arm-linux-pf/u-boot/lib/time.c:75: undefined reference to `get_tbclk'
> 
> 
> 
> (I can notice broken boards because I quite often build all boards
> for the test of Kbuild porting.)

This should be fixed by this patch - at least for microblaze.

commit 65ba7add0d609bbd035b8d42fafdaf428ac24751
Author: Rob Herring <rob.herring at calxeda.com>
Date:   Fri Nov 8 08:40:43 2013 -0600

    time: add weak annotation to timer_read_counter declaration

    A weak annotation is needed in order to prevent link errors when
    get_ticks is overridden. This fixes sandbox build.

    Signed-off-by: Rob Herring <rob.herring at calxeda.com>

Thanks,
Michal


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20131112/e0ebb7ae/attachment.pgp>


More information about the U-Boot mailing list