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
1 Well, I tried compiling the libm patch with the new version
2 (2.3.5-r1), but got the same error. And I think I would get the same
3 error if I went through what you did...o.O
4
5 Guess it is a lost cause, for now :(
6
7 On 7/24/05, Simon Strandman <simon.strandman@×××××.com> wrote:
8 > Jared Lindsay skrev:
9 >
10 > >Back on to a different subject...has anyone looked at the libm
11 > >section? I am curious as to how much of a performance increase that
12 > >would add if we can get it working.
13 > >
14 > >
15 > >
16 >
17 > Getting it to work seems easier said than done. :( Has anyone else tried
18 > compiling it? For me it always fails to build. I've tried upgrading
19 > binutils to 2.16.91.0.1 (same version as mdk cooker), building without
20 > the gentoo patches, building without omitfp, enabling as-needed,
21 > building without various configure options, using the libm patch from
22 > suse instead of mandrake and with higher or lower optimizations. It
23 > didn't even work when I manually unpacked and compiled glibc with only
24 > the libm patches and configure options --prefix=/usr/
25 > --enable-add-ons=nptl. Checking out the latest glibc from the 2.3 stable
26 > branch via cvs and adding the patches to that didn't work either. I'm
27 > running out of ideas now!
28 >
29 > Here is the error it fails with:
30 >
31 > x86_64-pc-linux-gnu-gcc -Wl,-O1 -nostdlib -nostartfiles -r -o
32 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os
33 > \
34 > -Wl,-d -Wl,--whole-archive
35 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.a
36 > x86_64-pc-linux-gnu-gcc -Wl,-O1 -shared -Wl,-O1 \
37 > -nostdlib -nostartfiles \
38 > -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 -Wl,-z,relro \
39 > -Wl,--verbose 2>&1 | \
40 > sed >
41 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.ldsT
42 > \
43 > -e '/^=========/,/^=========/!d;/^=========/d' \
44 > -e 's/^.*\.hash[ ]*:.*$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
45 > -e 's/^.*\*(\.dynbss).*$/& \
46 > PROVIDE(__start___libc_freeres_ptrs = .); \
47 > *(__libc_freeres_ptrs) \
48 > PROVIDE(__stop___libc_freeres_ptrs = .);/'\
49 > -e 's/^.*\*(\.jcr).*$/& \
50 > PROVIDE(__start___libc_subfreeres = .);\
51 > __libc_subfreeres : { *(__libc_subfreeres) }\
52 > PROVIDE(__stop___libc_subfreeres = .);\
53 > PROVIDE(__start___libc_atexit = .);\
54 > __libc_atexit : { *(__libc_atexit) }\
55 > PROVIDE(__stop___libc_atexit = .);\
56 > PROVIDE(__start___libc_thread_subfreeres = .);\
57 > __libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\
58 > PROVIDE(__stop___libc_thread_subfreeres = .);/'
59 > mv -f
60 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.ldsT
61 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.lds
62 > x86_64-pc-linux-gnu-gcc -Wl,-O1 -shared -static-libgcc -Wl,-O1
63 > -Wl,-z,defs -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2
64 > -B/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/csu/
65 >
66 > -Wl,--version-script=/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc.map
67 > -Wl,-soname=libc.so.6 -Wl,-z,relro -nostdlib -nostartfiles -e
68 > __libc_main -Wl,-z,now
69 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl
70 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/math
71 >
72 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf
73 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/dlfcn
74 >
75 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nss
76 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nis
77 >
78 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/rt
79 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/resolv
80 >
81 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/crypt
82 > -L/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/nptl
83 >
84 > -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
85 >
86 > -o
87 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc.so
88 > -T
89 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/shlib.lds
90 >
91 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/csu/abi-note.o
92 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/soinit.os
93 >
94 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os
95 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/sofini.os
96 >
97 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/interp.os
98 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/elf/ld.so
99 > -lgcc
100 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os:
101 > In function `scalbn':
102 > : undefined reference to `__copysign'
103 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os:
104 > In function `__scalbnf':
105 > : undefined reference to `__copysignf'
106 > /var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc_pic.os:
107 > In function `__scalbnf':
108 > : undefined reference to `__copysignf'
109 > collect2: ld returned 1 exit status
110 > make[1]: ***
111 > [/var/tmp/portage/glibc-2.3.5/work/build-amd64-x86_64-pc-linux-gnu-nptl/libc.so]
112 > Error 1
113 > make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.5/work/glibc-2.3.5'
114 > make: *** [all] Error 2
115 >
116 > I've looked through some of the other mandrake and suse patches but the
117 > only patch mandrake has that contains the word "copysign" is the gcc4
118 > patch. Using it makes the error slightly different but it still happens
119 > at the same place:
120 >
121 > /usr/portage/distfiles/glibc.build/libc_pic.os: In function `__scalbn':
122 > ../sysdeps/ieee754/dbl-64/s_scalbn.c:61: undefined reference to `__copysign'
123 > /usr/portage/distfiles/glibc.build/libc_pic.os: In function `__scalbnf':
124 > ../sysdeps/ieee754/flt-32/s_scalbnf.c:52: undefined reference to
125 > `__copysignf'
126 > ../sysdeps/ieee754/flt-32/s_scalbnf.c:58: undefined reference to
127 > `__copysignf'
128 > collect2: ld returned 1 exit status
129 >
130 >
131 > --
132 > Simon Strandman <simon.strandman@×××××.com>
133 >
134 > --
135 > gentoo-amd64@g.o mailing list
136 >
137 >
138
139 --
140 gentoo-amd64@g.o mailing list