> > ... the change in behaviour between 0.9.5
> > and 0.9.6 is the permanent build with PIC enabled.
>                                         ^^^ There is another related
> issue. There're several IA-32 assembler modules that are not position
> independent (at the very least I've rapidly examined cast, des and
> blowfish, cast and des are *not*) which got linked into libcrypto.so.

One might find it tempting to exclude none-PIC assembler modules
whenever -fPIC is present. To find some point of reference I performed
simple DES performance tests on PIII:

                performance
assembler       1 (unit)
gcc -fPIC       0.46
gcc             0.69
icc -KPIC       0.62
icc             0.68

Why just DES? It's still widely and often used algorithm and we probably
should still care about its performance. As far as I can tell in this
particular case PIC shouldn't cost more than couple percents. So that
whomever who has strong feelings for DES on IA-32 (or for IA-32:-) is
hereby challenged to PIC-ify the assembler implementation of DES. Well,
it's Linux I've been talking about so far. I assume the situation is the
same on other IA-32 Unix platforms (ELF everywhere, right?). But how
position independence is addressed on Windows?

A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to