Bug #6772 Prebuilt 4.1.7 binaries for Solaris x86 fail on Pentium III
Submitted: 23 Nov 2004 14:40 Modified: 6 Oct 2005 0:35
Reporter: Peter Tribble Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:4.1.7 OS:Solaris (Solaris 9/10 x86)
Assigned to: Lenz Grimmer CPU Architecture:Any

[23 Nov 2004 14:40] Peter Tribble
Description:
Attempting to use the downloaded 4.1.7 binary distribution for Solaris 9 on x86.

A simple test gives me:

% /usr/local/mysql/bin/mysql --version
Illegal instruction (core dumped)

On any Pentium III based system; it works fine on Pentium IV based machines.

The binaries are stripped, but I can see from one of the libraries that it was built using the
Studio 9 compiler and -xtarget=native (presumably via the -fast flag). This flag is problematic as it generates cpu-specific optimizations and instructions.

How to repeat:
Try running mysql on a Pentium III based Solaris x86 machine.

Suggested fix:
Don't use -fast, or explicitly add -xtarget=generic.
[10 Jan 2005 7:53] Hartmut Holzgraefe
I tried both mysql-standard-4.1.7-pc-solaris2.9-i386.tar.gz  and mysql-standard-4.1.8-pc-solaris2.9-i386.tar.gz with Solaris 9 x86 
installed on a P3mobile system (within vmware) without any
problems
[21 Jan 2005 12:53] Peter Tribble
It still fails for me every time on a PIII system.  And 4.1.8 and 4.1.9 fail as well.

Just for reference, I'm using PIII Xeon 5550MHz (Dell 6350) and PIII 1.4GHz (Sun LX50)
with kernel 112234-11. PIV based systems running the same revision of Solaris work fine.
[29 Sep 2005 12:59] Lenz Grimmer
Bug#9283 was marked as a duplicate of this bug.
[29 Sep 2005 13:02] Lenz Grimmer
BUG#9283 reported similar problems on Solaris 10. We need to double check the compile options on these platforms - most likely the optimization flags need to be adjusted.
[29 Sep 2005 13:12] Lenz Grimmer
The compile flags for the Solaris 8/9/10 x86 binaries indeed contained "-xtarget=native".
They have now been changed to "-xtarget=generic" to support PIII systems as well and to
avoid the "illegal instruction" crash.

The upcoming releases of MySQL (4.0.27, 4.1.15 and 5.0.14) will be built with these flags.
[6 Oct 2005 0:35] Paul DuBois
Noted in 4.0.27, 4.1.15, 5.0.14 changelogs.