This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Versioned glibc symbols


Robert Schwebel wrote:
This may be a FAQ but I didn' fid some sane documentation yet: I have
the problem that building applications crashes in the linker stage when
the libc built into the cross compiler is another version than the libc
built for the system I'm working on. For example, busybox crashes here:


[...]
i386-linux-gcc -L/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib --dynamic-linker=/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/ld-linux.so -o busybox -Wl,--start-group ./applets/applets.a ./archival/archival.a ./archival/libunarchive/libunarchive.a ./coreutils/coreutils.a ./console-tools/console-tools.a ./debianutils/debianutils.a ./editors/editors.a ./findutils/findutils.a ./init/init.a ./miscutils/miscutils.a ./modutils/modutils.a ./networking/networking.a ./networking/libiproute/libiproute.a ./networking/udhcp/udhcp.a ./procps/procps.a ./loginutils/loginutils.a ./shell/shell.a ./sysklogd/sysklogd.a ./util-linux/util-linux.a ./libpwdgrp/libpwdgrp.a ./coreutils/libcoreutils/libcoreutils.a ./libbb/libbb.a -lcrypt -Wl,--end-group
/usr/lib/gcc-lib/i486-linux/3.3.4/../../../crt1.o(.text+0xc): In function `_start':
../sysdeps/i386/elf/start.S:92: undefined reference to `__libc_csu_fini'
/usr/lib/gcc-lib/i486-linux/3.3.4/../../../crt1.o(.text+0x11):../sysdeps/i386/elf/start.S:93: undefined reference to `__libc_csu_init'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_lazy@GLIBC_2.1.1' ...

Now the question is: how is this intended? Is it possible at all to build a
system with another glibc than built into the compiler? Or should that
always be compatible?

What versions are the two glibc's in question? And are they really for different arches (i486 vs. i386?)

You can always build with an older glibc, then run on a system with a newer glibc.
I'm somewhat sure you can compile with an older glibc, then link with a newer one.

Can you present a minimal test case with enough detail to reproduce the problem?

- Dan


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]