Gentoo Archives: gentoo-amd64

From: Jared Lindsay <cinder.sub@×××××.com>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] x86_64 optimization patches for glibc.
Date: Sun, 24 Jul 2005 18:15:28
Message-Id: e16d914c05072411132174682@mail.gmail.com
In Reply to: Re: [gentoo-amd64] x86_64 optimization patches for glibc. by Simon Strandman
Well, I tried compiling the libm patch with the new version
(2.3.5-r1), but got the same error.  And I think I would get the same
error if I went through what you did...o.O

Guess it is a lost cause, for now :(

On 7/24/05, Simon Strandman <simon.strandman@×××××.com> wrote:
> Jared Lindsay skrev: > > >Back on to a different subject...has anyone looked at the libm > >section? I am curious as to how much of a performance increase that > >would add if we can get it working. > > > > > > > > Getting it to work seems easier said than done. :( Has anyone else tried > compiling it? For me it always fails to build. I've tried upgrading > binutils to 2.16.91.0.1 (same version as mdk cooker), building without > the gentoo patches, building without omitfp, enabling as-needed, > building without various configure options, using the libm patch from > suse instead of mandrake and with higher or lower optimizations. It > didn't even work when I manually unpacked and compiled glibc with only > the libm patches and configure options --prefix=/usr/ > --enable-add-ons=nptl. Checking out the latest glibc from the 2.3 stable > branch via cvs and adding the patches to that didn't work either. I'm > running out of ideas now! > > Here is the error it fails with: > > x86_64-pc-linux-gnu-gcc -Wl,-O1 -nostdlib -nostartfiles -r -o > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os > \ > -Wl,-d -Wl,--whole-archive > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.a > x86_64-pc-linux-gnu-gcc -Wl,-O1 -shared -Wl,-O1 \ > -nostdlib -nostartfiles \ > -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 -Wl,-z,relro \ > -Wl,--verbose 2>&1 | \ > sed > > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.ldsT > \ > -e '/^=========/,/^=========/!d;/^=========/d' \ > -e 's/^.*\.hash[ ]*:.*$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ > -e 's/^.*\*(\.dynbss).*$/& \ > PROVIDE(__start___libc_freeres_ptrs = .); \ > *(__libc_freeres_ptrs) \ > PROVIDE(__stop___libc_freeres_ptrs = .);/'\ > -e 's/^.*\*(\.jcr).*$/& \ > PROVIDE(__start___libc_subfreeres = .);\ > __libc_subfreeres : { *(__libc_subfreeres) }\ > PROVIDE(__stop___libc_subfreeres = .);\ > PROVIDE(__start___libc_atexit = .);\ > __libc_atexit : { *(__libc_atexit) }\ > PROVIDE(__stop___libc_atexit = .);\ > PROVIDE(__start___libc_thread_subfreeres = .);\ > __libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\ > PROVIDE(__stop___libc_thread_subfreeres = .);/' > mv -f > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.ldsT > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.lds > x86_64-pc-linux-gnu-gcc -Wl,-O1 -shared -static-libgcc -Wl,-O1 > -Wl,-z,defs -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 > -B/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/csu/ > > -Wl,--version-script=/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc.map > -Wl,-soname=libc.so.6 -Wl,-z,relro -nostdlib -nostartfiles -e > __libc_main -Wl,-z,now > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/math > > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/dlfcn > > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nss > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nis > > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/rt > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/resolv > > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/crypt > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nptl > > -Wl,-rpath-link=/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/math:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/dlfcn:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nss:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nis:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/rt:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/resolv:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/crypt:/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nptl > > -o > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc.so > -T > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.lds > > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/csu/abi-note.o > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/soinit.os > > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/sofini.os > > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/interp.os > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/ld.so > -lgcc > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os: > In function `scalbn': > : undefined reference to `__copysign' > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os: > In function `__scalbnf': > : undefined reference to `__copysignf' > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os: > In function `__scalbnf': > : undefined reference to `__copysignf' > collect2: ld returned 1 exit status > make[1]: *** > [/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc.so] > Error 1 > make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.5/work/glibc-2.3.5' > make: *** [all] Error 2 > > I've looked through some of the other mandrake and suse patches but the > only patch mandrake has that contains the word "copysign" is the gcc4 > patch. Using it makes the error slightly different but it still happens > at the same place: > > /usr/portage/distfiles/glibc.build/libc_pic.os: In function `__scalbn': > ../sysdeps/ieee754/dbl-64/s_scalbn.c:61: undefined reference to `__copysign' > /usr/portage/distfiles/glibc.build/libc_pic.os: In function `__scalbnf': > ../sysdeps/ieee754/flt-32/s_scalbnf.c:52: undefined reference to > `__copysignf' > ../sysdeps/ieee754/flt-32/s_scalbnf.c:58: undefined reference to > `__copysignf' > collect2: ld returned 1 exit status > > > -- > Simon Strandman <simon.strandman@×××××.com> > > -- > gentoo-amd64@g.o mailing list > >
-- gentoo-amd64@g.o mailing list