[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

SSLeay libraries on Alpha



For all of you who may have troubles with these libraries on
Alpha I attach below, for your perusal in a spare moment,
a log from a test run for SSLeay-0.9.0a compiled on Linux/Alpha.

There are these small points to note:
 - 'Configure' and other perl scripts assume that you
    have '/usr/local/bin/perl'; edit or supply the later as a link.
    I do not recommend the later as in some situations
    'rpm --rebuild...' may pick it up instead of /usr/bin/perl
    and you will have problems with dependencies
 - 'linux-elf' target assumes blindly x86, as expected.
    Use 'alpha-gcc' instead (even if you are using Compaq C).
 - You will get 'CFLAG= -O3' in a generated Makefile.  This should
   be OK but for this test run I edited it to 'CFLAG= -O2 -Wall -g'.
   Whatever.
 - 'Makefile' tries to use 'BN_MULW= asm/alpha.o' define.  This
   would be nice if not for that small trouble that one end up with
   
as   -o asm/alpha.o asm/alpha.s
asm/alpha.s: Assembler messages:
asm/alpha.s:198: Error: inappropriate arguments for opcode `stq'
make[2]: *** [asm/alpha.o] Error 1
 
   on the following code fragment from 'crypto/bn/asm/alpha.s'

bn_add_words:
bn_add_words..ng:
        .frame $30,0,$26,0
	.prologue 0

        bis     $31,$31,$8      # carry = 0
        ble     $19,$900
$901:
     	ldq     $0,0($17)       # a[0]
        ldq     $1,0($18)       # a[1]

        addq    $0,$1,$3        # c=a+b;
        addq    $17,8,$17       # a++

	cmpult  $3,$1,$7        # did we overflow?
	 addq   $18,8,$18       # b++

        addq    $8,$3,$3        # c+=carry

        cmpult  $3,$8,$8        # did we overflow?
	 stq    $3,($16)        # r[0]=c  <---- ERROR on this line!!!

	addq    $7,$8,$8        # add into overflow
	 subq   $19,1,$19       # loop--

	addq    $16,8,$16       # r++
         bgt    $19,$901
$900:
     	bis     $8,$8,$0        # return carry
	ret $31,($26),1
	.end bn_add_words

   Somebody with an assembler expertise willing to explain why this
   is unhappy?  Even better - is the whole code from alpha.s is correct? :-)
   Changing this define in Makefile to 'BN_MULW= bn_mulw.o' solves
   that problem but maybe adds extra cycles.

Once past that everything compiles fine as you can see for yourself
in an attached log.

  Michal

Attachment: SSLeay.test_results.gz
Description: application/gunzip


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []