1 |
Fabian Groffen wrote: |
2 |
> On 19-04-2007 00:27:36 +1000, Matt Michalowski wrote: |
3 |
> |
4 |
>> Michael Haubenwallner wrote: |
5 |
>> |
6 |
>>> Ah yes, one more: |
7 |
>>> dev-libs/openssl-0.9.8e does not build on x86-linux, but 0.9.8d does. |
8 |
>>> So please remove that keyword by now, thanks! |
9 |
>>> |
10 |
>>> |
11 |
>> It builds for me on x86-linux, with CFLAGS simply set to "-O2 -march=i686". |
12 |
>> It breaks, as you pointed out the other week, with -g. |
13 |
>> |
14 |
> |
15 |
> So I better unmask and strip the -g flag? Feels awkward, I prefer to |
16 |
> keep it in p.mask for now. |
17 |
> |
18 |
> |
19 |
Yeah, I agree it would be awkward. |
20 |
|
21 |
I've done some further investigating, and I was wrong about it being |
22 |
"-g", it's having no optimizations turned on: |
23 |
|
24 |
(-O0) |
25 |
# dhcp213:.../work/openssl-0.9.8e/crypto/engine# i686-pc-linux-gnu-gcc |
26 |
-I.. -I../.. -I../../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB |
27 |
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN |
28 |
-DTERMIO -Wall -DOPENSSL_BN_ASM_PART_WORDS -DSHA1_ASM -DMD5_ASM |
29 |
-DRMD160_ASM -DAES_ASM -Wa,--noexecstack -c -o eng_padlock.o |
30 |
eng_padlock.c -march=i686 -O0 |
31 |
eng_padlock.c: In function 'padlock_xcrypt_ecb': |
32 |
eng_padlock.c:445: error: can't find a register in class 'GENERAL_REGS' |
33 |
while reloading 'asm' |
34 |
|
35 |
where as: (-O1 -g) |
36 |
# dhcp213:.../work/openssl-0.9.8e/crypto/engine# i686-pc-linux-gnu-gcc |
37 |
-I.. -I../.. -I../../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB |
38 |
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN |
39 |
-DTERMIO -Wall -DOPENSSL_BN_ASM_PART_WORDS -DSHA1_ASM -DMD5_ASM |
40 |
-DRMD160_ASM -DAES_ASM -Wa,--noexecstack -c -o eng_padlock.o |
41 |
eng_padlock.c -O1 -g |
42 |
|
43 |
compiles fine. |
44 |
|
45 |
Now for my $0.02. eng_padlock is for VIA Padlock hardware support (hence |
46 |
its ASM implementation), which I don't imagine is many x86 users let |
47 |
alone prefix portage x86 users (I could be wrong :) ). It's pretty easy |
48 |
to disable the VIA support, and OpenSSL will still function without it. |
49 |
I've attached a patch. Maybe haubi will have some better ideas. |
50 |
|
51 |
|
52 |
Matt. |