* [Qemu-devel] [patch] Remove extern inline
@ 2005-03-18 23:31 Paul Brook
0 siblings, 0 replies; only message in thread
From: Paul Brook @ 2005-03-18 23:31 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 259 bytes --]
The attached patch converts the remaining uses of "extern inline" to
"static inline".
As I mentioned previously this is a gcc misfeature abused by the linux kernel.
Without this change qemu does not build with newer GCC at lower optimization
levels.
Paul
[-- Attachment #2: patch.qemu_fpa_inline --]
[-- Type: text/x-diff, Size: 1910 bytes --]
? target-arm/p
? target-arm/nwfpe/p
Index: target-arm/nwfpe/ARM-gcc.h
===================================================================
RCS file: /cvsroot/qemu/qemu/target-arm/nwfpe/ARM-gcc.h,v
retrieving revision 1.1
diff -u -p -r1.1 ARM-gcc.h
--- target-arm/nwfpe/ARM-gcc.h 16 Feb 2004 21:43:58 -0000 1.1
+++ target-arm/nwfpe/ARM-gcc.h 2 Mar 2005 13:48:58 -0000
@@ -68,7 +68,7 @@ a compiler does not support explicit inl
to be `static'.
-------------------------------------------------------------------------------
*/
-#define INLINE extern __inline__
+#define INLINE static __inline__
/* For use as a GCC soft-float library we need some special function names. */
Index: target-arm/nwfpe/fpa11.inl
===================================================================
RCS file: /cvsroot/qemu/qemu/target-arm/nwfpe/fpa11.inl,v
retrieving revision 1.1
diff -u -p -r1.1 fpa11.inl
--- target-arm/nwfpe/fpa11.inl 16 Feb 2004 21:43:58 -0000 1.1
+++ target-arm/nwfpe/fpa11.inl 2 Mar 2005 13:48:58 -0000
@@ -22,13 +22,13 @@
#include "fpa11.h"
/* Read and write floating point status register */
-extern __inline__ unsigned int readFPSR(void)
+INLINE unsigned int readFPSR(void)
{
FPA11 *fpa11 = GET_FPA11();
return(fpa11->fpsr);
}
-extern __inline__ void writeFPSR(FPSR reg)
+INLINE void writeFPSR(FPSR reg)
{
FPA11 *fpa11 = GET_FPA11();
/* the sysid byte in the status register is readonly */
@@ -36,14 +36,14 @@ extern __inline__ void writeFPSR(FPSR re
}
/* Read and write floating point control register */
-extern __inline__ FPCR readFPCR(void)
+INLINE FPCR readFPCR(void)
{
FPA11 *fpa11 = GET_FPA11();
/* clear SB, AB and DA bits before returning FPCR */
return(fpa11->fpcr & ~MASK_RFC);
}
-extern __inline__ void writeFPCR(FPCR reg)
+INLINE void writeFPCR(FPCR reg)
{
FPA11 *fpa11 = GET_FPA11();
fpa11->fpcr &= ~MASK_WFC; /* clear SB, AB and DA bits */
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-03-18 23:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-18 23:31 [Qemu-devel] [patch] Remove extern inline Paul Brook
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).