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