simply compile openssl 0.9.7e with gcc 4.0 and run openssl speed (speed benchmark). Backtrace: #0 0x00002aaaaad71ed4 in bn_add_words () from /usr/lib64/libcrypto.so.0.9.7 #1 0x00002aaaaad692d7 in BN_uadd () from /usr/lib64/libcrypto.so.0.9.7 #2 0x00002aaaaad70a05 in BN_mod_inverse () from /usr/lib64/libcrypto.so.0.9.7 #3 0x00002aaaaad7bec7 in RSA_blinding_on () from /usr/lib64/libcrypto.so.0.9.7 #4 0x00002aaaaad7a1e0 in RSA_PKCS1_SSLeay () from /usr/lib64/libcrypto.so.0.9.7 #5 0x00002aaaaad7a716 in RSA_PKCS1_SSLeay () from /usr/lib64/libcrypto.so.0.9.7 #6 0x00002aaaaad7c222 in RSA_sign () from /usr/lib64/libcrypto.so.0.9.7 #7 0x0000000000430d57 in ?? () #8 0x00000000004111c5 in ?? () #9 0x0000000000411816 in ?? () #10 0x00002aaaab058829 in __libc_start_main () from /lib64/tls/libc.so.6 # disassemby of corrupted (it seems) place: 0x00002aaaaad71ec0 <bn_add_words+0>: xor %r8d,%r8d 0x00002aaaaad71ec3 <bn_add_words+3>: test %ecx,%ecx 0x00002aaaaad71ec5 <bn_add_words+5>: jle 0x2aaaaad71eec <bn_add_words+44> 0x00002aaaaad71ec7 <bn_add_words+7>: mov %rdx,%rax 0x00002aaaaad71eca <bn_add_words+10>: sub %rdx,%rdx 0x00002aaaaad71ecd <bn_add_words+13>: data16 0x00002aaaaad71ece <bn_add_words+14>: data16 0x00002aaaaad71ecf <bn_add_words+15>: nop 0x00002aaaaad71ed0 <bn_add_words+16>: mov (%rsi,%rdx,8),%rax 0x00002aaaaad71ed4 <bn_add_words+20>: adc (%rdx,%rdx,8),%rax 0x00002aaaaad71ed8 <bn_add_words+24>: mov %rax,(%rdi,%rdx,8) 0x00002aaaaad71edc <bn_add_words+28>: lea 0x1(%rdx),%rdx 0x00002aaaaad71ee0 <bn_add_words+32>: loop 0x2aaaaad71ed0 <bn_add_words+16> 0x00002aaaaad71ee2 <bn_add_words+34>: sbb %rax,%rax 0x00002aaaaad71ee5 <bn_add_words+37>: mov %rax,%r8 0x00002aaaaad71ee8 <bn_add_words+40>: and $0x1,%r8d 0x00002aaaaad71eec <bn_add_words+44>: mov %r8,%rax 0x00002aaaaad71eef <bn_add_words+47>: retq I'll attach --save-temps output or this source, if necessary.
-- Summary: openssl speed compiled with 20051020 gcc-4.0 (HEAD) segfaults Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: critical Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gj at pointblue dot com dot pl CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: x86_64 GCC target triplet: amd64 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19558