On Fri, 17 Jan 2003, Andy Polyakov via RT wrote:

> 
> > > >    Config was adding "386" to the Configure line causing the build
> > > >    to fail on the assembler modules.
> > >         ^^^^ in what way?
> > 
> > Not really.
> 
> So you mean that it's not like it fails, but generates not optimal code.

No, it fails.
...
        (cd asm; /usr/bin/perl sha1-586.pl elf -I.. -I../.. -I../../include -Kpic 
-DOPENSSL_THREADS -Kthread -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -O -DFILIO_H 
-Kalloca -DSHA1_ASM -DMD5_ASM -DRMD160_ASM 386 > sx86-elf.s)
        cc -c -Kpic -DOPENSSL_THREADS -Kthread -DDSO_DLFCN -DHAVE_DLFCN_H 
-DOPENSSL_NO_KRB5 -O -DFILIO_H -Kalloca -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -o 
asm/sx86-elf.o asm/sx86-elf.s
UX:as: ERROR: asm/sx86-elf.s:35:invalid register for instruction: %al in xchg
UX:as: ERROR: asm/sx86-elf.s:35:invalid register for instruction: %ah in xchg
UX:as: ERROR: asm/sx86-elf.s:37:invalid register for instruction: %al in xchg
UX:as: ERROR: asm/sx86-elf.s:37:invalid register for instruction: %ah in xchg
UX:as: ERROR: asm/sx86-elf.s:39:invalid register for instruction: %cl in xchg
UX:as: ERROR: asm/sx86-elf.s:39:invalid register for instruction: %ch in xchg
[snip]
...
> 
> > Minimum processor on any current UnixWare is a pentium.
> > The older releases of UnixWare don't have assembler support.
> 
> Then why bother with 'uname -X 2>/dev/null | grep "^Machine"' at all? It
> should be sufficient to just echo i586-sco-newenough and just drop a
> comment why i586 is hardcoded... A.
> 
If it's only important to know if it's i386 or ix86 and we don't need
to know x, then that would be fine for the SVR5 boxes. (UnixWare 7, OpenUNIX 8)
The 4.2MP machines (UnixWare 2.x) could be running an i386 but I doubt
anyone would. (UnixWare 1.1 was slow enough on a 386)

It's probably safe to hard code i586 in the 4.2MP section.

Dump the OpenUNIX section at line 96, (it's bogus, Release is 5)
...
System = OpenUNIX
Node = ou8
Release = 5
KernelID = 01/06/09
Machine = Pentium II
BusType = ISA
Serial = 3IH026825
Users = 5
OEM# = 0
Origin# = 1
NumCPU = 1
...

Have the 5 section look something like
----------
            5)
                if [ "`echo x$VERSION | sed -e 's/\..*//'`" = "x7" ]; then
                    echo "i586-sco-unixware7"; exit 0
                elif [ "`echo x$VERSION | sed -e 's/\..*//'`" = "x8" ]; then
                    echo "i586-unknown-OpenUNIX${VERSION}"; exit 0
                fi
                ;;
----------

An argument in favor of knowing which processor it really has would
be if at some future date we wanted to automaticly use
say, crypto/des/asm/des686.pl instead of
crypto/des/asm/des-586.pl on i686.

-- 
Tim Rice                                Multitalents    (707) 887-1469
[EMAIL PROTECTED]

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to