Bug #33243 | MySQL 6.0 atomic operations fail to compile on PPC64 | ||
---|---|---|---|
Submitted: | 14 Dec 2007 13:33 | Modified: | 16 Mar 2008 10:45 |
Reporter: | Daniel Fischer | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S1 (Critical) |
Version: | 6.0-bk, 6.0.4-alpha | OS: | MacOS (PPC64) |
Assigned to: | CPU Architecture: | Any |
[14 Dec 2007 13:33]
Daniel Fischer
[15 Dec 2007 14:57]
Daniel Fischer
The reason is that in the following code (simplified test case), the transparent_union attribute is ignored: typedef union { int volatile *i; unsigned int volatile *u; } int_union __attribute__ ((transparent_union)); This only happens on Mac OS X when building for the PPC64 target. It doesn't happen when building for any other CPU supported by Mac OS X.
[15 Dec 2007 15:46]
Sergei Golubchik
Yes, this is my fix: -#if defined(__GNUC__) +#if defined(__GNUC__) && !defined(__cplusplus) && \ + ! (defined(__APPLE__) && defined(_ARCH_PPC64))
[20 Dec 2007 10:15]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/40255 ChangeSet@1.2770, 2007-12-20 11:11:37+01:00, df@pippilotta.erinye.com +1 -0 BUG#33243 transparent_union unhelpful on OS X PPC64
[20 Dec 2007 10:17]
Daniel Fischer
Above patch was applied to 6.0.4 release clone.
[12 Mar 2008 23:03]
Bugs System
Pushed into 6.0.4-alpha
[16 Mar 2008 10:45]
MC Brown
No changelog entry required.