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)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.080 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.