First, an overview...

Solaris 9, gcc 4.1.2, binutils 2.18, gnu make 3.80, fails while
assembling aes-sparcv9.s ... A similar system, with the same version of gcc,
binutils, and gnu make, but running Solaris 8 does _not_ exhibit
this behavior.  Both systems are sun4u sparc SUNW,UltraAX-i2.

Looking at the file on both systems, the one generated on Solaris8 is 33267 
bytes,
the one generated on Solaris9 is 77926 bytes.  Copying over the generated
aes-sparcv9.s from Solaris8 allows the build to complete and pass all tests
on Solaris 9 (so that means the other generated assembly files are ok).

Solaris 9 fails the same way regardless of if compiling for 
solaris64-sparcv9-gcc
or solaris-sparcv9-gcc ...

I'm looking for some insight, I'm assuming it is a bug in asm/aes-sparcv9.pl,
but someone more familiar with that perl script might be able to
shed some more light on why Solaris8 works but not Solaris9.  I've
not yet actually looked at that perl script.  The perl versions on the
systems do appear to be different if that matters, Solaris 8 uses 5.005_03,
whereas Solaris 9 uses 5.8.0)

Configuring/compiling with the no-asm flag also resolves the issue, but
is not optimal.


Some more detailed system info:

# uname -a
SunOS solaris9 5.9 Generic_117171-12 sun4u sparc SUNW,UltraAX-i2

# gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.9
Configured with: ../configure --prefix=/usr/local/gcc-4.1.2-pic --enable-shared 
--enable-static --enable-languages=c,c++ --with-gnu-as 
--with-as=/usr/local/binutils/bin/as --with-gnu-ld 
--with-ld=/usr/local/binutils/bin/ld
Thread model: posix
gcc version 4.1.2

# as --version
GNU assembler (GNU Binutils) 2.18
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `sparc-sun-solaris2.9'.

# gmake --version
GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

# perl --version
This is perl, v5.8.0 built for sun4-solaris
(Solaris8's says: This is perl, version 5.005_03 built for sun4-solaris)

# ./Configure threads no-shared --prefix=/usr/local/ssl-1.0.0-beta2 
solaris-sparcv9-gcc

Compilation error:

/usr/local/bin/perl asm/aes-sparcv9.pl -I.. -I../.. -I../asn1 -I../evp 
-I../../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m32 
-mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W 
-DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM >
aes-sparcv9.s
gcc -I.. -I../.. -I../asn1 -I../evp -I../../include  -DOPENSSL_THREADS 
-D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m32 -mcpu=ultrasparc -O3 
-fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DOPENSSL_BN_ASM_MONT 
-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -c  -o aes-sparcv9.o 
aes-sparcv9.s
aes-sparcv9.s: Assembler messages:
aes-sparcv9.s:338: Error: symbol `AES_Te' is already defined
aes-sparcv9.s:632: Error: symbol `_sparcv9_AES_encrypt' is already defined
aes-sparcv9.s:653: Error: symbol `.Lenc_loop' is already defined
aes-sparcv9.s:1853: Error: symbol `_sparcv9_AES_decrypt' is already defined
aes-sparcv9.s:1874: Error: symbol `.Ldec_loop' is already defined
aes-sparcv9.s:2062: Error: symbol `.Ldec_last' is already defined
aes-sparcv9.s:2177: Error: symbol `AES_decrypt' is already defined
aes-sparcv9.s:2202: Error: symbol `.Lunaligned_dec' is already defined
aes-sparcv9.s:2305: Error: junk at end of line, first unrecognized character is 
`,'
aes-sparcv9.s:2326: Error: symbol `.Lunaligned_dec' is already defined
aes-sparcv9.s:2434: Error: junk at end of line, first unrecognized character is 
`1'
aes-sparcv9.s:2463: Error: junk at end of line, first unrecognized character is 
`5'
aes-sparcv9.s:2479: Error: junk at end of line, first unrecognized character is 
`2'
aes-sparcv9.s:2495: Error: junk at end of line, first unrecognized character is 
`1'
aes-sparcv9.s:2512: Error: junk at end of line, first unrecognized character is 
`5'
aes-sparcv9.s:2553: Error: symbol `.Lenc_last' is already defined
aes-sparcv9.s:2602: Error: junk at end of line, first unrecognized character is 
`2'
aes-sparcv9.s:2610: Error: junk at end of line, first unrecognized character is 
`2'
aes-sparcv9.s:2635: Error: junk at end of line, first unrecognized character is 
`4'
aes-sparcv9.s:2668: Error: symbol `AES_encrypt' is already defined
aes-sparcv9.s:2693: Error: symbol `.Lunaligned_enc' is already defined
aes-sparcv9.s:2782: Error: symbol `AES_Td' is already defined
aes-sparcv9.s:3076: Error: symbol `_sparcv9_AES_decrypt' is already defined
aes-sparcv9.s:3097: Error: symbol `.Ldec_loop' is already defined
aes-sparcv9.s:3113: Error: junk at end of line, first unrecognized character is 
`1'
aes-sparcv9.s:3129: Error: junk at end of line, first unrecognized character is 
`3'
aes-sparcv9.s:3145: Error: junk at end of line, first unrecognized character is 
`6'
aes-sparcv9.s:3154: Error: junk at end of line, first unrecognized character is 
`3'
aes-sparcv9.s:3166: Error: junk at end of line, first unrecognized character is 
`3'
aes-sparcv9.s:3195: Error: junk at end of line, first unrecognized character is 
`6'
aes-sparcv9.s:3211: Error: junk at end of line, first unrecognized character is 
`1'
aes-sparcv9.s:3227: Error: junk at end of line, first unrecognized character is 
`1'
aes-sparcv9.s:3244: Error: junk at end of line, first unrecognized character is 
`3'
aes-sparcv9.s:3285: Error: symbol `.Ldec_last' is already defined
aes-sparcv9.s:3334: Error: junk at end of line, first unrecognized character is 
`2'
aes-sparcv9.s:3342: Error: junk at end of line, first unrecognized character is 
`2'
aes-sparcv9.s:3367: Error: junk at end of line, first unrecognized character is 
`1'
aes-sparcv9.s:3400: Error: symbol `AES_decrypt' is already defined
aes-sparcv9.s:3425: Error: symbol `.Lunaligned_dec' is already defined
gmake[2]: *** [aes-sparcv9.o] Error 1


Thanks.
-Brad
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to