X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=FAQ;h=10761438add8c025518beeeef84cec6ae70213a0;hp=9543e4ab0722e51837076636b2265b7b60d1544d;hb=c3586512184b4ca6c682c479323ac282ab30298e;hpb=5fad2c93bc161ab387de5810d9fa15b42893f702 diff --git a/FAQ b/FAQ index 9543e4ab07..10761438ad 100644 --- a/FAQ +++ b/FAQ @@ -76,6 +76,7 @@ OpenSSL - Frequently Asked Questions * Why does Valgrind complain about the use of uninitialized data? * Why doesn't a memory BIO work when a file does? * Where are the declarations and implementations of d2i_X509() etc? +* When debugging I observe SIGILL during OpenSSL initialization: why? =============================================================================== @@ -84,7 +85,6 @@ OpenSSL - Frequently Asked Questions * Which is the current version of OpenSSL? The current version is available from . -OpenSSL 1.0.1e was released on Feb 11, 2013. In addition to the current stable release, you can also access daily snapshots of the OpenSSL development version at (or its alias ), please note that messages sent to the @@ -785,6 +788,9 @@ more active team members (e.g. Steve). If you wish to use PGP to send in a report please use one or more of the keys of the team members listed at +Note that bugs only present in the openssl utility are not in general +considered to be security issues. + [PROG] ======================================================================== * Is OpenSSL thread-safe? @@ -1069,5 +1075,20 @@ These are defined and implemented by macros of the form: The implementation passes an ASN1 "template" defining the structure into an ASN1 interpreter using generalised functions such as ASN1_item_d2i(). +* When debugging I observe SIGILL during OpenSSL initialization: why? + +OpenSSL adapts to processor it executes on and for this reason has to +query its capabilities. Unfortunately on some processors the only way +to achieve this for non-privileged code is to attempt instructions +that can cause Illegal Instruction exceptions. The initialization +procedure is coded to handle these exceptions to manipulate corresponding +bits in capabilities vector. This normally appears transparent, except +when you execute it under debugger, which stops prior delivering signal +to handler. Simply resuming execution does the trick, but when debugging +a lot it might feel counterproductive. Two options. Either set explicit +capability environment variable in order to bypass the capability query +(see corresponding crypto/*cap.c for details). Or configure debugger not +to stop upon SIGILL exception, e.g. in gdb case add 'handle SIGILL nostop' +to your .gdbinit. ===============================================================================