New make target "report" to run util/selftest.pl
diff --git a/Makefile.org b/Makefile.org
index 55213dd..61f9302 100644
--- a/Makefile.org
+++ b/Makefile.org
@@ -272,6 +272,9 @@
 	$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SDIRS='${SDIRS}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' tests );
 	@apps/openssl version -a
 
+report:
+	@$(PERL) util/selftest.pl
+
 depend:
 	@for i in $(DIRS) ;\
 	do \
diff --git a/README b/README
index 62979ce..b764721 100644
--- a/README
+++ b/README
@@ -80,40 +80,14 @@
         A Configuration loader that uses a format similar to MS .ini files.
 
  openssl: 
-     A command line tool which provides the following functions:
+     A command line tool that can be used for:
+        Creation of RSA, DH and DSA key parameters
+        Creation of X.509 certificates, CSRs and CRLs 
+        Calculation of Message Digests
+        Encryption and Decryption with Ciphers
+        SSL/TLS Client and Server Tests
+        Handling of S/MIME signed or encrypted mail
 
-     enc     - a general encryption program that can encrypt/decrypt using
-               one of 17 different cipher/mode combinations.  The
-               input/output can also be converted to/from base64
-               ascii encoding.
-     dgst    - a generate message digesting program that will generate
-               message digests for any of md2, md5, sha (sha-0 or sha-1)
-               or mdc2.
-     asn1parse - parse and display the structure of an asn1 encoded
-               binary file.
-     rsa     - Manipulate RSA private keys.
-     dsa     - Manipulate DSA private keys.
-     dh      - Manipulate Diffie-Hellman parameter files.
-     dsaparam- Manipulate and generate DSA parameter files.
-     crl     - Manipulate certificate revocation lists.
-     crt2pkcs7- Generate a pkcs7 object containing a crl and a certificate.
-     x509    - Manipulate x509 certificates, self-sign certificates.
-     req     - Manipulate PKCS#10 certificate requests and also
-               generate certificate requests.
-     genrsa  - Generates an arbitrary sized RSA private key.
-     gendsa  - Generates DSA parameters.
-     gendh   - Generates a set of Diffie-Hellman parameters, the prime
-               will be a strong prime.
-     ca      - Create certificates from PKCS#10 certificate requests.
-               This program also maintains a database of certificates
-               issued.
-     verify  - Check x509 certificate signatures.
-     speed   - Benchmark OpenSSL's ciphers.
-     s_server- A test SSL server.
-     s_client- A test SSL client.
-     s_time  - Benchmark SSL performance of SSL server programs.
-     errstr  - Convert from OpenSSL hex error codes to a readable form.
-     nseq    - Netscape certificate sequence utility
         
  PATENTS
  -------
@@ -157,30 +131,23 @@
  If you have any problems with OpenSSL then please take the following steps
  first:
 
+    - Download the current snapshot from ftp://ftp.openssl.org/snapshot/
+      to see if the problem has already been addressed
     - Remove ASM versions of libraries
     - Remove compiler optimisation flags 
-    - Add compiler debug flags (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:
 
-    OpenSSL Details
-    - Version, most of these details can be got from the
-      'openssl version -a' command.
-    Operating System Details
-    - On Unix systems: Output of './config -t'
-    - OS Name, 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)
+    - On Unix systems:
+        Self-test report generated by 'make report'
+    - On other systems:
+        OpenSSL version: output of 'openssl version -a'
+        OS Name, Version, Hardware platform
+        Compiler Details (name, version)
+    - Application Details (name, version)
+    - Problem Description (steps that will reproduce the problem, if known)
+    - Stack Traceback (if the application dumps core)
 
  Report the bug to the OpenSSL project at:
 
@@ -188,7 +155,7 @@
 
  Note that mail to openssl-bugs@openssl.org is forwarded to a public
  mailing list. Confidential mail may be sent to openssl-security@openssl.org
- (PGP key available from the key servers.)
+ (PGP key available from the key servers).
 
  HOW TO CONTRIBUTE TO OpenSSL
  ----------------------------
diff --git a/util/selftest.pl b/util/selftest.pl
index 0849737..ac46c68 100644
--- a/util/selftest.pl
+++ b/util/selftest.pl
@@ -17,6 +17,7 @@
 my $last="??";
 my $ok=0;
 my $cc="cc";
+my $cversion="??";
 my $sep="-----------------------------------------------------------------------------\n";
 
 open(OUT,">$report") or die;
@@ -38,13 +39,19 @@
 	$version=$1 if (/^VERSION=(.*)$/);
 	$platform=$1 if (/^PLATFORM=(.*)$/);
 	$options=$1 if (/^OPTIONS=(.*)$/);
-	$cc=$1 if (/^CC=(.*)$/);
+	$cc=$1 if (/^CC= *(.*)$/);
     }
     close(IN);
 } else {
-    print OUT "Error running config: no Makefile.ssl!\n";
+    print OUT "Error running config!\n";
 }
 
+$cversion=`$cc -v 2>&1`;
+$cversion=`$cc -V 2>&1` if $cversion =~ "usage";
+$cversion =~ s/Reading specs.*\n//;
+$cversion =~ s/usage.*\n//;
+chomp $cversion;
+
 if (open(IN,"<CHANGES")) {
     while(<IN>) {
 	if (/\*\) (.{0,55})/) {
@@ -61,8 +68,11 @@
 print OUT "OS (config):      $os\n";
 print OUT "Target (default): $platform0\n";
 print OUT "Target:           $platform\n";
+print OUT "Compiler:         $cversion\n";
 print OUT "\n";
 
+goto err;
+
 print "Checking compiler...\n";
 if (open(TEST,">test.c")) {
     print TEST "#include <stdio.h>\nmain(){printf(\"Hello world\\n\");}\n";
@@ -149,3 +159,4 @@
     print;
 }
 print "Test report in file $report\n";
+