Bug #13621 | Does not compile on m68k: /usr/include/asm/atomic.h: 'local_irq_save' was not d | ||
---|---|---|---|
Submitted: | 29 Sep 2005 20:08 | Modified: | 27 Apr 2006 2:46 |
Reporter: | Christian Hammers (Silver Quality Contributor) (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
Version: | 4.0 | OS: | Linux (Debian GNU/Linux Sid) |
Assigned to: | Oleksandr Byelkin | CPU Architecture: | Any |
[29 Sep 2005 20:08]
Christian Hammers
[29 Sep 2005 22:57]
Christian Hammers
A possible will be uploaded to this bug report now.
[29 Sep 2005 22:57]
Christian Hammers
fix
Attachment: 14_configure__gcc-atomic.h.diff (text/plain), 755 bytes.
[5 Oct 2005 8:58]
Sergei Golubchik
Christian, could you upload the config.log (and, preferrably, the output of sh -x ./configure <your usual configure options>) ? configure tries to detect whether atomic.h is usable and should not define HAVE_ATOMIC_ADD otherwise.
[3 Nov 2005 17:55]
Christian Hammers
Hello The bug also comes up with MySQL 5.0.15. It seems to be dependend on the GCC version. The test program from configure.in, I compiled with "gcc -Wall -o t t.c", is: #include <asm/atomic.h> int main() { atomic_t v; atomic_set(&v, 23); atomic_add(5, &v); return atomic_read(&v) == 28 ? 0 : -1; } Results: gcc-2.95: OK gcc-3.3: /usr/include/asm/atomic.h: In Funktion »atomic_add«: /usr/include/asm/atomic.h:21: error: inconsistent operand constraints in an `asm' The relevant lines of atomic.h are: static __inline__ void atomic_add(int i, atomic_t *v) { __asm__ __volatile__("addl %1,%0" : "=m" (*v) : "id" (i), "0" (*v)); } Be aware that the kernel headers are obviously not the same on every architecture and kernel version so yours might look slightly different. This one is from 2.6.13-rc3. I'm not sure if the primary problem is in MySQL or gcc vs. the kernel. bye, -christian-
[3 Nov 2005 22:12]
Christian Hammers
Forget my last mail, I did the compile tests in the wrong chroot :) Attached you find config.log and the build log. bye, -christian-
[3 Nov 2005 22:12]
Christian Hammers
config.log
Attachment: config.log.bz2 (application/octet-stream, text), 27.75 KiB.
[3 Nov 2005 22:12]
Christian Hammers
build output
Attachment: log.bz2 (application/octet-stream, text), 15.70 KiB.
[10 Nov 2005 0:01]
Jim Winstead
I think the thing to do here is to make sure our tests for the atomic_*() functions are done using C++ by adding the appropriate AC_LANG_{SAVE,CPLUSPLUS,RESTORE} magic.
[10 Nov 2005 19:17]
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/internals/32152
[28 Nov 2005 12:39]
Sergei Golubchik
From the error message it does not look like c/c++ is an issue. Jim are you sure your fix will solve the problem ? Christian did the fix helped you ?
[12 Dec 2005 13:40]
Lenz Grimmer
Is BUG#15244 a duplicate of this one? Also see http://lists.mysql.com/packagers/264 for a related discussion.
[29 Dec 2005 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[30 Jan 2006 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[30 Jan 2006 7:18]
Valeriy Kravchuk
Christian, Please, check the patch proposed and inform about the results.
[7 Feb 2006 0:32]
Christian Hammers
Hello Sorry, I can't verify it currently as I don't have access to a reasonable fast m68k machine but I will report if the patch does not work after the next 5.0.x release, ok? bye, -christian-
[7 Feb 2006 8:29]
Valeriy Kravchuk
OK. I'll set status "Need Feedback" until that.
[8 Mar 2006 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[8 Apr 2006 20:02]
Oleksandr Byelkin
-1) early version is affected, too 0) it is not related to m68k 1) the patch helps
[10 Apr 2006 18:57]
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/4736
[25 Apr 2006 6:08]
Oleksandr Byelkin
pushed to 5.1.10, 5.0.21, 4.1.19 and 4.0.27 It was a problem with configure and including atomic operations header file (atomic.h) on some linux distributions (like altlinux, and some other)
[27 Apr 2006 2:46]
Paul DuBois
Noted in 4.0.27, 4.1.19, 5.0.21, 5.1.10 changelogs. Avoid trying to include <asm/atomic.h> when it doesn't work in C++ code. (Bug #13621)