Steve Langasek c00a76aea3 [PATCH] __cmpxchg() must really always be inlined on alpha
With the latest 2.6.15 kernel builds for alpha on Debian, we ran into a
problem with undefined references to __cmpxchg_called_with_bad_pointer() in
a couple of kernel modules (xfs.ko and drm.ko; see
http://bugs.debian.org/347556).

It looks like people have been trying to out-clever each other wrt the
definition of "inline" on this architecture :), with the result that
__cmpxchg(), which must be inlined so the compiler can see its argument is
const, is not guaranteed to be inlined.  Indeed, it was not being inlined
when building with -Os.

The attached patch fixes the issue by adding an
__attribute__((always_inline)) explicitly to the definition of __cmpxchg()
instead of relying on redefines of "inline" elsewhere to make this happen.

Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-07 16:12:31 -08:00
..
2005-06-07 12:35:43 -07:00
2005-09-07 16:57:21 -07:00
2005-10-29 21:40:35 -07:00
2006-01-03 13:11:06 -08:00
2005-05-01 08:59:01 -07:00
2006-01-08 20:13:39 -08:00
2006-01-08 20:14:02 -08:00
2005-09-07 16:57:21 -07:00
2006-01-08 20:13:39 -08:00
2005-09-05 00:05:39 -07:00
2005-09-08 14:57:25 -07:00
2006-01-12 09:08:50 -08:00
2006-01-12 09:08:50 -08:00
2005-10-29 21:40:35 -07:00
2005-05-01 08:59:08 -07:00
2005-05-04 07:33:15 -07:00
2005-09-10 10:06:21 -07:00
2005-09-05 00:05:48 -07:00
2005-07-27 18:24:24 -07:00