[#4145] u-boot bf548-ezkit build fail for SVN r1231

Document created by Aaronwu Employee on Sep 25, 2013
Version 1Show Document
  • View in full screen mode

[#4145] u-boot bf548-ezkit build fail for SVN r1231

Submitted By: Jie Zhang

Open Date

2008-06-04 23:18:03     Close Date

2008-06-05 05:44:41

Priority:

Medium     Assignee:

Mike Frysinger

Category:

N/A     Fixed In Release:

N/A

Found In Release:

N/A     Status:

Closed

Board:

N/A     Processor:

N/A

Silicon Revision:

    Resolution:

Fixed

Is the bug repeatable?:

N/A     

Summary: u-boot bf548-ezkit build fail for SVN r1231

Details:

 

bfin-uclinux-gcc  -D__ASSEMBLY__ -g  -Os   -ffixed-P5 -fomit-frame-pointer -mcpu=bf548-0.0 -D__KERNEL__ -I/home/jie/blackfin-sources/u-boot/trunk/u-boot-1.1.6/include -fno-builtin -ffreestanding -nostdinc -isystem /home/jie/installs/bfin-41-uclinux/lib/gcc/bfin-uclinux/4.1.2/include -pipe  -DCONFIG_BLACKFIN -I. -DSYM_FILE='".syms.u-boot.S"' -c cpu/blackfin/system_map.S -o cpu/blackfin/system_map.o

UNDEF_SYM=`bfin-uclinux-objdump -x lib_generic/libgeneric.a board/bf548-ezkit/libbf548-ezkit.a cpu/blackfin/libblackfin.a lib_blackfin/libblackfin.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a common/libcommon.a |sed  -n -e 's/.*\(___u_boot_cmd_.*\)/-u\1/p'|sort|uniq`; cd /home/jie/blackfin-sources/u-boot/trunk/u-boot-1.1.6 && bfin-uclinux-ld -Bstatic -T /home/jie/blackfin-sources/u-boot/trunk/u-boot-1.1.6/board/bf548-ezkit/u-boot.lds  $UNDEF_SYM cpu/blackfin/start.o --start-group lib_generic/libgeneric.a board/bf548-ezkit/libbf548-ezkit.a cpu/blackfin/libblackfin.a lib_blackfin/libblackfin.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a common/libcommon.a --end-group -L /home/jie/installs/bfin-41-uclinux/lib/gcc/bfin-uclinux/4.1.2 -lgcc -Map u-boot.map -o u-boot cpu/blackfin/system_map.o

/home/jie/installs/bfin-41-uclinux/bin/bfin-uclinux-ld.real: region ram is full (u-boot section .bss)

/home/jie/installs/bfin-41-uclinux/bin/bfin-uclinux-ld.real: region ram is full (u-boot section .bss)

make[1]: *** [u-boot] Error 1

make[1]: Leaving directory `/home/jie/blackfin-sources/u-boot/trunk/u-boot-1.1.6'

 

 

 

 

Follow-ups

 

--- Mike Frysinger                                           2008-06-04 23:26:09

works for me with gcc-4.1 from trunk and 2008R1 release

 

with a clean trunk (no changes at all), i just run: make bf548-ezkit

 

--- Jie Zhang                                                2008-06-04 23:46:00

My toolchain is r2410. Before "make bf548-ezkit" I did "make

distclean".

 

--- Jie Zhang                                                2008-06-05 00:04:15

Program Headers:

  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align

  LOAD           0x001000 0x03fa0000 0x03fa0000 0x31fd0 0x31fd0 RWE 0x1000

  LOAD           0x03300c 0xffa0000c 0x03fd1fd0 0x00028 0x00028 R E 0x1000

  LOAD           0x032ff8 0x03fd1ff8 0x03fd1ff8 0x00000 0x2e218 RW  0x1000

 

 

The ram region size is 0x60000, but u-boot needs 0x31fd0 + 0x2e218 = 0x601e8

 

I attached my u-boot.map, so you can take a look where is the difference.

 

--- Mike Frysinger                                           2008-06-05 00:07:13

look at the linker script in board/bf548-ezkit/u-boot.lds ... it should allow

for 393216 bytes (384 * 1024).  the total size should be about 389136 bytes:

  LOAD           0x001000 0x03fa0000 0x03fa0000 0x30dd0 0x30dd0 RWE 0x1000

  LOAD           0x03200c 0xffa0000c 0x03fd0dd0 0x00028 0x00028 R E 0x1000

  LOAD           0x031df8 0x03fd0df8 0x03fd0df8 0x00000 0x2e218 RW  0x1000

0x30dd0 + 0x00028 + 0x2e218

 

so where is the excess coming from on your side ?

 

--- Mike Frysinger                                           2008-06-05 00:33:02

looks like the bug only occurs when building on a 64bit machine

 

--- Jie Zhang                                                2008-06-05 00:40:25

I attached my u-boot.map in this item. So you can take a look. Or could you post

your u-boot.map here, I can take a look.

 

--- Mike Frysinger                                           2008-06-05 01:09:19

it's a bug in binutils.  on 64bit machines, it will display all numbers as 64bit

even if the target is 32bit.  it appears to be fixed in newer binutils however.

 

you can check by doing:

nm u-boot

 

it should not look like:

0000000003fa3f54 t _wait_for_complete

but it should look like:

03fa3f54 t _wait_for_complete

 

--- Mike Frysinger                                           2008-06-05 01:26:06

ive opened a sep report for binutils being broken and added a workaround to the

2008R1 branch

 

--- Mike Frysinger                                           2008-06-05 05:44:41

since the u-boot branch has a workaround and you're going to fix binutils trunk,

there's nothing left to do for u-boot

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

u-boot.map    application/octet-stream    170382    Jie Zhang

Attachments

Outcomes