From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DCRHd-0007p8-MB for qemu-devel@nongnu.org; Fri, 18 Mar 2005 18:53:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DCRHY-0007nl-MV for qemu-devel@nongnu.org; Fri, 18 Mar 2005 18:53:35 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DCRHV-0007ao-3r for qemu-devel@nongnu.org; Fri, 18 Mar 2005 18:53:29 -0500 Received: from [65.74.133.9] (helo=mail.codesourcery.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1DCQvp-0008Pa-DH for qemu-devel@nongnu.org; Fri, 18 Mar 2005 18:31:05 -0500 From: Paul Brook Date: Fri, 18 Mar 2005 23:31:00 +0000 MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_1S2OCRsgWUbBIJe" Message-Id: <200503182331.01116.paul@codesourcery.com> Subject: [Qemu-devel] [patch] Remove extern inline Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --Boundary-00=_1S2OCRsgWUbBIJe Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 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 --Boundary-00=_1S2OCRsgWUbBIJe Content-Type: text/x-diff; charset="us-ascii"; name="patch.qemu_fpa_inline" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="patch.qemu_fpa_inline" ? 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 */ --Boundary-00=_1S2OCRsgWUbBIJe--