This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: build failure on i386-linux, during install
On Fri, Feb 09, 2001 at 08:21:23PM +0100, Jakub Jelinek wrote:
> On Fri, Feb 09, 2001 at 02:11:01PM -0500, Ben Collins wrote:
> > On Fri, Feb 09, 2001 at 11:00:57AM -0800, Ulrich Drepper wrote:
> > > Ben Collins <bcollins@debian.org> writes:
> > >
> > > > I get this with current CVS. During the install phase:
> > > >
> > > > gcc -nostdlib -nostartfiles -o /usr/src/glibc/glibc-2.2.1/i386-linux/obj/iconv/iconv_prog -Wl,-dynamic-linker=/lib/ld-linux.so.2 /usr/src/glibc/glibc-2.2.1/i386-linux/obj/csu/crt1.o /usr/src/glibc/glibc-2.2.1/i386-linux/obj/csu/crti.o `gcc --print-file-name=crtbegin.o` /usr/src/glibc/glibc-2.2.1/i386-linux/obj/iconv/iconv_prog.o -Wl,-rpath-link=/usr/src/glibc/glibc-2.2.1/i386-linux/obj:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/math:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/elf:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/dlfcn:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/nss:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/nis:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/rt:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/resolv:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/crypt:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/db2:/usr/src/glibc/glibc-2.2.1/i386-linux/obj/linuxthreads /usr/src/glibc/glibc-2.2.1/i386-linux/obj/libc.so.6 /usr/src/glibc/glibc-2.2.1/i386-linux/obj/libc_nonshared.a -lgcc!
> `gc!
> > > c --print-file-name=crtend.o` /usr/src/glibc/glibc-2.2.1/i386-linux/obj/csu/crtn.o
> > > > /usr/src/glibc/glibc-2.2.1/i386-linux/obj/elf/ld-linux.so.2: undefined reference to `_setjmp'
> > > > collect2: ld returned 1 exit status
> > > >
> > > > However, executing ld-linux.so.2 directly works without problems. Also,
> > > > it builds fine on sparc-linux and ppc-linux (all three using gcc 2.95.3
> > > > and 2.4.1 kernel headers).
> > >
> > > First of all, this is not a runtime message. It's issued by the
> > > linker so running ld-linux.so.2 does not mean much. Second, _setjmp
> > > is definitely exported from libc (and more specific bsd-_setjmp).
> > > Must be a problem on your side, perhaps the tools.
> >
> > The toolset I'm using hasn't changed. I'm doing another build now to see
> > if I can get into this a bit more.
>
> My guess is that you ended up with a zero-length file which is before the
> real one in the search path or something.
# This is the current build
%objdump --dynamic-syms i386-linux/obj/libc.so | grep setjmp
0002bd20 g DF .text 0000003b GLIBC_2.0 setjmp
0002bca0 g DF .text 00000032 GLIBC_2.0 __sigsetjmp
# The installed 2.2.1 release
%objdump --dynamic-syms /lib/libc-2.2.1.so | grep setjmp
0002bc10 w DF .text 00000008 GLIBC_2.0 setjmp
0002bc30 g DF .text 00000032 GLIBC_2.0 __sigsetjmp
0002bc20 w DF .text 00000000 GLIBC_2.0 _setjmp
%find i386-linux/obj -name \*setjmp\*.o -ls
923704 1 -rw-r--r-- 1 bmc bmc 972 Feb 9 13:38 i386-linux/obj/setjmp/setjmp.o
923706 1 -rw-r--r-- 1 bmc bmc 964 Feb 9 13:38 i386-linux/obj/setjmp/bsd-setjmp.o
923707 1 -rw-r--r-- 1 bmc bmc 441 Feb 9 13:38 i386-linux/obj/setjmp/bsd-_setjmp.o
923729 22 -rw-r--r-- 1 bmc bmc 20692 Feb 9 14:13 i386-linux/obj/setjmp/tst-setjmp.o
So no, _setjmp symbol is not there.
--
-----------=======-=-======-=========-----------=====------------=-=------
/ Ben Collins -- ...on that fantastic voyage... -- Debian GNU/Linux \
` bcollins@debian.org -- bcollins@openldap.org -- bcollins@linux.com '
`---=========------=======-------------=-=-----=-===-======-------=--=---'