public inbox for gentoo-amd64@lists.gentoo.org
 help / color / mirror / Atom feed
From: Simon Strandman <simon.strandman@telia.com>
To: gentoo-amd64@lists.gentoo.org
Subject: Re: [gentoo-amd64] x86_64 optimization patches for glibc.
Date: Sun, 24 Jul 2005 16:35:52 +0200	[thread overview]
Message-ID: <42E3A748.5010704@telia.com> (raw)
In-Reply-To: <e16d914c0507240042780f83e6@mail.gmail.com>

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@telia.com>

-- 
gentoo-amd64@gentoo.org mailing list



  reply	other threads:[~2005-07-24 14:37 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-23 14:48 [gentoo-amd64] x86_64 optimization patches for glibc Simon Strandman
2005-07-23 16:36 ` Allan Wang
2005-07-23 17:08   ` Simon Strandman
2005-07-23 17:30     ` Allan Wang
2005-07-23 18:11       ` Jared Lindsay
2005-07-23 18:19         ` Allan Wang
2005-07-27 10:09     ` netpython
2005-07-27 16:11       ` [gentoo-amd64] " Duncan
2005-07-23 18:44   ` [gentoo-amd64] " Brian Litzinger
2005-07-25 22:24     ` Luke-Jr
2005-07-25 22:38       ` Olivier Crete
2005-07-26 15:40         ` Luke-Jr
2005-07-26 16:50           ` [gentoo-amd64] " Duncan
2005-07-26 17:02             ` Raffaele BELARDI
2005-07-26 17:49               ` Michael Edwards
2005-07-26 18:42                 ` [gentoo-amd64] " Duncan
2005-07-27  0:05             ` [gentoo-amd64] " Sami Samhuri
2005-07-27  2:50             ` Matt Randolph
2005-07-26  2:54       ` [gentoo-amd64] " Brian Litzinger
2005-07-23 16:39 ` Sean Johnson
2005-07-23 22:15 ` Matt Randolph
2005-07-23 22:36   ` Matt Randolph
2005-07-24  1:47     ` Sean Johnson
2005-07-24  3:36       ` Matt Randolph
2005-07-24  5:36         ` Ian McCulloch
2005-07-24  7:42           ` Jared Lindsay
2005-07-24 14:35             ` Simon Strandman [this message]
2005-07-24 18:13               ` Jared Lindsay
2005-07-25 20:08 ` Jeremy Huddleston
2005-07-25 21:34   ` Simon Strandman
2005-07-25 22:00     ` Jared Lindsay
2005-07-31 14:24     ` [gentoo-amd64] " Duncan
2005-07-31 14:56       ` Brian Hall
2005-07-31 16:23         ` [gentoo-amd64] " Duncan
2005-07-31 17:42           ` Ben Skeggs
2005-07-31 18:46             ` Jared Lindsay
2005-07-31 18:52               ` Nuitari
2005-08-01 13:51             ` [gentoo-amd64] " Duncan
2005-07-31 19:21       ` [gentoo-amd64] " Simon Strandman
2005-08-01  9:04       ` Jan Jitse Venselaar
2005-08-01 13:45         ` [gentoo-amd64] " Duncan
2005-08-01 17:03           ` Karol Krizka
2005-08-02 10:21             ` [gentoo-amd64] " Duncan
2005-08-02 19:41               ` Matt Randolph
2005-08-02 23:27                 ` [gentoo-amd64] hijacked! :) television (was: x86_64 optimization patches for glibc.) Sami Samhuri
2005-08-04  2:28                   ` Luke-Jr
2005-08-05  0:28                     ` Sami Samhuri
2005-08-05  7:43                       ` Arm Suwarnaratana
2005-08-09 10:29         ` [gentoo-amd64] Re: x86_64 optimization patches for glibc Simon Strandman
2005-07-26 17:40 ` [gentoo-amd64] " ardour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42E3A748.5010704@telia.com \
    --to=simon.strandman@telia.com \
    --cc=gentoo-amd64@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox