link problem solved!

Douglas Mencken dougmencken at gmail.com
Sun Jul 17 05:45:47 EST 2011


> can you provide distro and toolchain?

Distro: Manulix (not finished yet)
Toolchain: std C library -
http://ftp.osuosl.org/pub/manulix/binpkg-powerpc/uclibc-v0.9.32-rc3-123-gf87898c-powerpc.binpkg.tar.bz2
; binutils - http://ftp.osuosl.org/pub/manulix/binpkg-powerpc/binutils-v2.21.52-20110617-powerpc-uclibc.binpkg.tar.bz2
; gcc - http://ftp.osuosl.org/pub/manulix/binpkg-powerpc/gcc-v4.6.1-powerpc-uclibc.binpkg.tar.bz2

> I don't have these kind of problems on CRUX PPC 2.7.
> Here my (full 32bit) build log if you are interested:
> http://cruxppc.org/~acrux/yaboot.log

Here's my build log in the case when patches for ld arguments are
applied and when they are not applied:
http://ftp.osuosl.org/pub/manulix/logs+errors/yaboot/yaboot-v1.3.17-rc1.non-patched.build_log
http://ftp.osuosl.org/pub/manulix/logs+errors/yaboot/yaboot-v1.3.17-rc1.patched.build_log

I suppose, I've found the source of differences in our systems. You
don't have libc.a (static version of std C library), correct?! Looks
like when libext2fs.a is being created, build system in my case knows
that there's no need to copy libc.a's code inside libext2fs.a; but in
your case (if you don't have statically-linked version of libc) build
system makes "all-in-one" libext2fs.a, without any libc dependencies.

Can you please check your static version of libext2fs? On my side,
objdump -t /usr/lib/libext2fs.a gives:

progress.o:     file format elf32-powerpc

SYMBOL TABLE:
00000000 l    df *ABS*  00000000 progress.c
00000000 l    d  .text  00000000 .text
00000000 l    d  .data  00000000 .data
00000000 l    d  .bss   00000000 .bss
00000000 l    d  .rodata.str1.4 00000000 .rodata.str1.4
00000000 l     O .bss   00000050 spaces
00000050 l     O .bss   00000050 backspaces
00000000 l    d  .debug_info    00000000 .debug_info
00000000 l    d  .debug_abbrev  00000000 .debug_abbrev
00000000 l    d  .debug_loc     00000000 .debug_loc
00000000 l    d  .debug_aranges 00000000 .debug_aranges
00000000 l    d  .debug_ranges  00000000 .debug_ranges
00000000 l    d  .debug_line    00000000 .debug_line
00000000 l    d  .debug_str     00000000 .debug_str
00000000 l    d  .note.GNU-stack        00000000 .note.GNU-stack
00000000 l    d  .debug_frame   00000000 .debug_frame
00000000 l    d  .comment       00000000 .comment
00000000 g     F .text  00000134 ext2fs_numeric_progress_init
00000000         *UND*  00000000 memset
00000000         *UND*  00000000 getenv
00000000         *UND*  00000000 stdout
00000000         *UND*  00000000 fputs
00000000         *UND*  00000000 fflush
00000134 g     F .text  000000a4 ext2fs_numeric_progress_update
00000000         *UND*  00000000 printf
00000000         *UND*  00000000 fprintf
000001d8 g     F .text  000000e4 ext2fs_numeric_progress_close

Notice "*UND*" entries for std C library functions. In your case, they
might be integrated into libext2fs.

My libext2fs.a is here:
http://ftp.osuosl.org/pub/manulix/logs+errors/yaboot/libext2fs.a ;
full output of objdump -t is here:
http://ftp.osuosl.org/pub/manulix/logs+errors/yaboot/libext2fs.a.objdump
.

--doug


More information about the Yaboot-devel mailing list