If you have any problems with SSLeay then please take the following 
steps:

    Remove the ASM version of the BN routines (edit Configure)
    Remove the compiler optimisation flags
    Add in the compiler debug flags (-g)

Note: if using gcc then remove -fomit-frame-pointer before you try
      to debug things.

If you wish to report a bug then please include the following information
in any bug report:

    SSLeay Details
	- Version, most of these details can be got from the
	  'ssleay version -a' command.
    Operating System Details
	- OS Name
	- OS Version
	- Hardware platform
    Compiler Details
	- Name
	- Version
    Application Details 
	- Name 
	- Version 
    Problem Description
	- include steps that will reproduce the problem (if known)
    Stack Traceback (if the application dumps core)

For example:

    OpenSSL-0.9.1c
    SunOS 5.3, SPARC, SunC 3.0
    SSLtelnet-0.7

    Core dumps when using telnet with SSL support in bn_mul() with 
    the following stack trackback 
	...

Report the bug to the OpenSSL project at:

    openssl-users@openssl.org

