* [U-Boot-Users] sc520 problems with objcopy
@ 2004-10-06 2:14 Aras Vaichas
2004-10-06 23:29 ` [U-Boot-Users] " Aras Vaichas
0 siblings, 1 reply; 2+ messages in thread
From: Aras Vaichas @ 2004-10-06 2:14 UTC (permalink / raw)
To: u-boot
I've been porting to an sc520 based board and I've had several compiler and
linker issues which I think I have solved. The problem now is that objcopy
never finishes and uses all available memory. I have to kill the process
otherwise it starts to try and use all virtual memory as well.
I did a system call trace, and from it you can see that it gets to a point
where it is calling brk() and from this it never seems to end.
Has anyone else had this problem? Is it a problem caused by linker/compiler
settings? Any clues would be appreciated!
root at gentoo u-boot-1.1.1 # make
... SNIP ...
UNDEF_SYM=`objdump -x lib_generic/libgeneric.a board/sc520_dsb/libsc520_dsb.a
cpu/i386/libi386.a lib_i386/libi386.a fs/cramfs/libcramfs.a fs/fat/libfat.a
fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a net/libnet.a
disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a
drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a
common/libcommon.a |sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
ld -Bstatic -T
/samba/development/40_Magellan_Standard_Software/MAL/boot/u-boot-1.1.1/board/sc520_dsb/u-boot.lds
-Ttext 0x387c0000 $UNDEF_SYM cpu/i386/start.o cpu/i386/start16.o
cpu/i386/reset.o \
--start-group lib_generic/libgeneric.a
board/sc520_dsb/libsc520_dsb.a cpu/i386/libi386.a lib_i386/libi386.a
fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a
fs/reiserfs/libreiserfs.a net/libnet.a disk/libdisk.artc/librtc.a dtt/libdtt.a
drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a
post/cpu/libcpu.a common/libcommon.a --no-warn-mismatch -L
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 -lgcc --end-group \
-Map u-boot.map -o u-boot
objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
... I press CTRL+C at this point to interrupt, otherwise all my memory gets used.
make: *** [u-boot.srec] Interrupt
root at gentoo u-boot-1.1.1 # objcopy --version
GNU objcopy 2.14.90.0.8 20040114
root at gentoo u-boot-1.1.1 # ll u-boot
-rwxrwxr-x 1 root root 594727 Oct 6 12:04 u-boot
... I perform a system call trace here to see what is happening during objcopy
root at gentoo u-boot-1.1.1 # strace objcopy --gap-fill=0xff -O srec u-boot
u-boot.srec
execve("/usr/bin/objcopy", ["objcopy", "--gap-fill=0xff", "-O", "srec",
"u-boot", "u-boot.srec"], [/* 52 vars */]) = 0
uname({sys="Linux", node="gentoo", ...}) = 0
brk(0) = 0x808b000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40014000
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=76539, ...}) = 0
mmap2(NULL, 76539, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40015000
close(3) = 0
open("/usr/lib/libbfd-2.14.90.0.8.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\370"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=618708, ...}) = 0
mmap2(NULL, 634196, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40028000
mmap2(0x400b8000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x8f)
= 0x400b8000
mmap2(0x400bf000, 15700, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400bf000
close(3) = 0
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\34\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=10964, ...}) = 0
mmap2(NULL, 8624, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400c3000
mmap2(0x400c5000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2) =
0x400c5000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200Y\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1174424, ...}) = 0
mmap2(NULL, 1104676, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400c6000
mmap2(0x401ce000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x107)
= 0x401ce000
mmap2(0x401d2000, 6948, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401d2000
close(3) = 0
munmap(0x40015000, 76539) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "\316\324\316\262", 4) = 4
close(3) = 0
brk(0) = 0x808b000
brk(0x80ac000) = 0x80ac000
brk(0) = 0x80ac000
brk(0) = 0x80ac000
stat64("u-boot", {st_mode=S_IFREG|0775, st_size=594727, ...}) = 0
stat64("u-boot", {st_mode=S_IFREG|0775, st_size=594727, ...}) = 0
open("u-boot", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0775, st_size=594727, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40015000
_llseek(3, 0, [0], SEEK_SET) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\0\0|84"..., 4096) = 4096
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 4096, [4096], SEEK_SET) = 0
_llseek(3, 557056, [557056], SEEK_SET) = 0
read(3, "entoo Linux 3.3.4-r1, ssp-3.3.2-"..., 4096) = 4096
_llseek(3, 561152, [561152], SEEK_SET) = 0
_llseek(3, 0, [0], SEEK_SET) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\0\0|84"..., 4096) = 4096
stat64("u-boot.srec", {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
open("u-boot.srec", O_RDWR|O_CREAT|O_TRUNC, 0666) = 4
_llseek(3, 557056, [557056], SEEK_SET) = 0
read(3, "entoo Linux 3.3.4-r1, ssp-3.3.2-"..., 4096) = 4096
read(3, "\0\0\0\0\0\0\361\377=\5\0\0 \360\376\377\0\0\0\0\0\0\361"..., 16384) =
16384
read(3, "\n\0\0\0\22\0\1\0\3;\0\0\324\214|8\372\0\0\0\22\0\1\0\v"..., 4096) = 4096
brk(0) = 0x80ac000
brk(0x80db000) = 0x80db000
read(3, "urge_tx_ring\0rx_next\0rx_ring\0tx_"..., 12288) = 12288
read(3, "\0__u_boot_cmd_cp\0strspn\0NetSendP"..., 4096) = 807
_llseek(3, 8192, [8192], SEEK_SET) = 0
read(3, "\270\30\0\0\0\216\340\216\330\216\350\216\300\216\320\275"..., 81920)
= 81920
read(3, "\311\351\t\371\377\377\215e\364[^_\311\303U\211\345WVS"..., 4096) = 4096
brk(0) = 0x80db000
brk(0x8103000) = 0x8103000
_llseek(3, 94208, [94208], SEEK_SET) = 0
read(3, "Redirect to \0*** ERROR: `serveri"..., 16384) = 16384
read(3, "h() routine too large (%d) %p - "..., 4096) = 4096
_llseek(3, 114688, [114688], SEEK_SET) = 0
read(3, "\0\0|8\0\0\2008\313\232}8\0\0@\0\223\f\0\0\224\f@\0\314"..., 4096) = 4096
_llseek(3, 4096, [4096], SEEK_SET) = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
_llseek(3, 118784, [118784], SEEK_SET) = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
_llseek(3, 122880, [122880], SEEK_SET) = 0
read(3, "\272\374\377f\270\313\360\r\200f\357\270\0\337\216\330"..., 4096) = 4096
_llseek(3, 126976, [126976], SEEK_SET) = 0
_llseek(3, 126976, [126976], SEEK_SET) = 0
read(3, "\1\0\0\0\0\0\260\3\\\3\0\0\1\0\0\0d\0\0\0\0\0|8\22\0\0"..., 8192) = 8192
read(3, "\275\1\0\0\0\0\0\0D\0`\1\301\1\0\0\0\0\0\0D\0a\1\304\1"..., 4096) = 4096
read(3, "!\0I\23/\v\0\0\t\17\0\v\vI\23\0\0\n\25\1\1\23\'\f\0\0\v"..., 28672) =
28672
read(3, "8\n\0\0\16\26\0\3\10:\v;\vI\23\0\0\17\23\1\1\23\3\16\v"..., 4096) = 4096
mmap2(NULL, 286720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x401d4000
read(3, "Tu\7\0\0\0214\10\0\0\f\n\v1\6\307*\0\0\v!F\4\0\0\2#\0\6"..., 278528) =
278528
read(3, "\207\2\0\0\3#\264\4\5\327O\0\0\2@\207\2\0\0\3#\200\5\005"..., 4096) = 4096
munmap(0x401d4000, 286720) = 0
read(3, "\34V\325)I,V2V\10\36r\253p\234\200\342\343\272\236\3\t"..., 45056) = 45056
read(3, "\270b7;\270\3\274\1c/\3\v\267\3uc\3\f9da\3u9\3\f9:\3\346"..., 4096) = 4096
_llseek(3, 503808, [503808], SEEK_SET) = 0
read(3, "A\16\10\205\2B\r\5 \0\0\0\270\f\0\0\341=|8\227\0\0\0A\16"..., 16384) =
16384
read(3, "\2B\r\5F\203\5\206\4\207\3].\10\0\0\34\0\0\0\264M\0\0\324"..., 4096) =
4096
read(3, "\0__u_boot_cmd_chpart\0\0\0\0\0\256\1\0\0\2\0\331"..., 4096) = 4096
read(3, "\0\0flash_info\0\0\0\0\0p\0\0\0\2\0#>\3\0\207\17\0\0\217"..., 4096) = 4096
read(3, "\0\0p\0\0\0\206\0\0\0\0\0\0\0\0\0\0\0\301\0\0\0\315\0\0"..., 4096) = 4096
read(3, "ArpWaitPacketMAC\0NetOurHostName\0"..., 16384) = 16384
read(3, "pos\0data_in\0rtime_decompress\0com"..., 4096) = 4096
read(3, "entoo Linux 3.3.4-r1, ssp-3.3.2-"..., 4096) = 4096
brk(0) = 0x8103000
brk(0x8125000) = 0x8125000
brk(0) = 0x8125000
brk(0x8147000) = 0x8147000
brk(0) = 0x8147000
... never ends ...
regards,
Aras Vaichas
^ permalink raw reply [flat|nested] 2+ messages in thread* [U-Boot-Users] Re: sc520 problems with objcopy
2004-10-06 2:14 [U-Boot-Users] sc520 problems with objcopy Aras Vaichas
@ 2004-10-06 23:29 ` Aras Vaichas
0 siblings, 0 replies; 2+ messages in thread
From: Aras Vaichas @ 2004-10-06 23:29 UTC (permalink / raw)
To: u-boot
Aras Vaichas wrote:
> I've been porting to an sc520 based board and I've had several compiler
> and linker issues which I think I have solved. The problem now is that
> objcopy never finishes and uses all available memory. I have to kill the
> process otherwise it starts to try and use all virtual memory as well.
Looking at past posts, it looks like the sc520 port is in bad shape. I tried
compiling sc520_spunk and sc520_cdp and they are missing so many files and have
some so many linker problems (due to missing files and broken linker script) It
looks like some PCI stuff must have disappeared along the way somewhere too ...
> objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
I removed the --gap-fill=0xff and I was able to create an srec file. I think
objcopy was spending all its time filling in 0xff ... I don't know if it works
yet, but at least I was able to complete a make.
Perhaps the sc520_xxxx ports should be marked as "incomplete" or "broken"?
regards,
Aras
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-10-06 23:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-06 2:14 [U-Boot-Users] sc520 problems with objcopy Aras Vaichas
2004-10-06 23:29 ` [U-Boot-Users] " Aras Vaichas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox