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]
