From owner-p4-projects@FreeBSD.ORG Sat Mar 13 12:03:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4833B16A4D0; Sat, 13 Mar 2004 12:03:34 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 19B6116A4CE for ; Sat, 13 Mar 2004 12:03:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0EAA243D31 for ; Sat, 13 Mar 2004 12:03:34 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2DK3XGe028145 for ; Sat, 13 Mar 2004 12:03:33 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2DK3XhG028142 for perforce@freebsd.org; Sat, 13 Mar 2004 12:03:33 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sat, 13 Mar 2004 12:03:33 -0800 (PST) Message-Id: <200403132003.i2DK3XhG028142@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 48904 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Mar 2004 20:03:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=48904 Change 48904 by peter@peter_overcee on 2004/03/13 12:02:53 integ -I -b i386_hammer. AARGH! __INTEL_COMPILER spammage! Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/acpi_wakeup.c#8 integrate .. //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#11 integrate .. //depot/projects/hammer/sys/amd64/amd64/db_interface.c#16 integrate .. //depot/projects/hammer/sys/amd64/amd64/fpu.c#9 integrate .. //depot/projects/hammer/sys/amd64/amd64/identcpu.c#21 integrate .. //depot/projects/hammer/sys/amd64/amd64/in_cksum.c#8 integrate .. //depot/projects/hammer/sys/amd64/amd64/trap.c#43 integrate .. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#30 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#19 integrate .. //depot/projects/hammer/sys/amd64/include/_types.h#7 integrate .. //depot/projects/hammer/sys/amd64/include/atomic.h#10 integrate .. //depot/projects/hammer/sys/amd64/include/bus_amd64.h#7 integrate .. //depot/projects/hammer/sys/amd64/include/cpufunc.h#23 integrate .. //depot/projects/hammer/sys/amd64/include/critical.h#14 integrate .. //depot/projects/hammer/sys/amd64/include/endian.h#6 integrate .. //depot/projects/hammer/sys/amd64/include/ieeefp.h#11 integrate .. //depot/projects/hammer/sys/amd64/include/in_cksum.h#7 integrate .. //depot/projects/hammer/sys/amd64/include/pcpu.h#18 integrate .. //depot/projects/hammer/sys/amd64/include/profile.h#10 integrate .. //depot/projects/hammer/sys/amd64/include/stdarg.h#7 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/acpi_wakeup.c#8 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#11 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/db_interface.c#16 (text+ko) ==== @@ -61,9 +61,10 @@ rss(void) { u_short ss; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile("mov %%ss,%0" : "=r" (ss)); #else +#error Function rss() needs to get ported to this compiler. ss = 0; /* XXXX Fix for other compilers. */ #endif return ss; ==== //depot/projects/hammer/sys/amd64/amd64/fpu.c#9 (text+ko) ==== @@ -68,7 +68,7 @@ * Floating point support. */ -#if defined(__GNUC__) && !defined(lint) +#if (defined(__GNUC__) && !defined(lint)) || defined(__INTEL_COMPILER) #define fldcw(addr) __asm("fldcw %0" : : "m" (*(addr))) #define fnclex() __asm("fnclex") @@ -81,7 +81,7 @@ : : "n" (CR0_TS) : "ax") #define stop_emulating() __asm("clts") -#else /* not __GNUC__ */ +#else /* !((__GNUC__ && !lint ) || __INTEL_COMPILER) */ void fldcw(caddr_t addr); void fnclex(void); @@ -93,7 +93,7 @@ void start_emulating(void); void stop_emulating(void); -#endif /* __GNUC__ */ +#endif /* (__GNUC__ && !lint ) || __INTEL_COMPILER */ #define GET_FPU_CW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_cw) #define GET_FPU_SW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_sw) ==== //depot/projects/hammer/sys/amd64/amd64/identcpu.c#21 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/in_cksum.c#8 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/trap.c#43 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#30 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/conf/NOTES#19 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# (XXX from i386:NOTES,v 1.1134) +# (XXX from i386:NOTES,v 1.1136) # $FreeBSD: src/sys/amd64/conf/NOTES,v 1.10 2004/03/05 08:04:10 obrien Exp $ # @@ -18,7 +18,7 @@ machine amd64 # -# We want LINT to cover profiling as well +# We want LINT to cover profiling as well. #XXX#profile 2 @@ -232,7 +232,7 @@ # Network interfaces: # -# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) +# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) # ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 # HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf) # (requires miibus) ==== //depot/projects/hammer/sys/amd64/include/_types.h#7 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/include/atomic.h#10 (text+ko) ==== @@ -76,7 +76,7 @@ #else /* !KLD_MODULE */ -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) /* * For userland, assume the SMP case and use lock prefixes so that @@ -102,12 +102,12 @@ } \ struct __hack -#else /* !__GNUC__ */ +#else /* !(__GNUC__ || __INTEL_COMPILER) */ #define ATOMIC_ASM(NAME, TYPE, OP, CONS, V) \ extern void atomic_##NAME##_##TYPE(volatile u_##TYPE *p, u_##TYPE v) -#endif /* __GNUC__ */ +#endif /* __GNUC__ || __INTEL_COMPILER */ /* * Atomic compare and set, used by the mutex functions @@ -117,7 +117,7 @@ * Returns 0 on failure, non-zero on success */ -#if defined(__GNUC__) +#if defined(__GNUC__) || defined(__INTEL_COMPILER) static __inline int atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src) @@ -158,9 +158,9 @@ return (res); } -#endif /* defined(__GNUC__) */ +#endif /* defined(__GNUC__) || defined(__INTEL_COMPILER) */ -#if defined(__GNUC__) +#if defined(__GNUC__) || defined(__INTEL_COMPILER) #define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ static __inline u_##TYPE \ @@ -189,7 +189,7 @@ } \ struct __hack -#else /* !defined(__GNUC__) */ +#else /* !(defined(__GNUC__) || defined(__INTEL_COMPILER)) */ extern int atomic_cmpset_int(volatile u_int *, u_int, u_int); extern int atomic_cmpset_long(volatile u_long *, u_long, u_long); @@ -198,7 +198,7 @@ extern u_##TYPE atomic_load_acq_##TYPE(volatile u_##TYPE *p); \ extern void atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v) -#endif /* defined(__GNUC__) */ +#endif /* defined(__GNUC__) || defined(__INTEL_COMPILER) */ #endif /* KLD_MODULE */ @@ -371,7 +371,7 @@ #undef ATOMIC_PTR -#if defined(__GNUC__) +#if defined(__GNUC__) || defined(__INTEL_COMPILER) static __inline u_int atomic_readandclear_int(volatile u_int *addr) @@ -403,12 +403,12 @@ return (result); } -#else /* !defined(__GNUC__) */ +#else /* !(defined(__GNUC__) || defined(__INTEL_COMPILER)) */ extern u_long atomic_readandclear_long(volatile u_long *); extern u_int atomic_readandclear_int(volatile u_int *); -#endif /* defined(__GNUC__) */ +#endif /* defined(__GNUC__) || defined(__INTEL_COMPILER) */ #endif /* !defined(WANT_FUNCTIONS) */ #endif /* ! _MACHINE_ATOMIC_H_ */ ==== //depot/projects/hammer/sys/amd64/include/bus_amd64.h#7 (text+ko) ==== @@ -284,7 +284,7 @@ else #endif { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: movb (%2),%%al \n\ @@ -293,6 +293,10 @@ "=D" (addr), "=c" (count) : "r" (bsh + offset), "0" (addr), "1" (count) : "%eax", "memory"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -313,7 +317,7 @@ else #endif { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: movw (%2),%%ax \n\ @@ -322,6 +326,10 @@ "=D" (addr), "=c" (count) : "r" (bsh + offset), "0" (addr), "1" (count) : "%eax", "memory"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -342,7 +350,7 @@ else #endif { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: movl (%2),%%eax \n\ @@ -351,6 +359,10 @@ "=D" (addr), "=c" (count) : "r" (bsh + offset), "0" (addr), "1" (count) : "%eax", "memory"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -391,7 +403,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: inb %w2,%%al \n\ @@ -401,6 +413,10 @@ "=D" (addr), "=c" (count), "=d" (_port_) : "0" (addr), "1" (count), "2" (_port_) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -409,8 +425,7 @@ else #endif { - bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ repne \n\ @@ -418,6 +433,10 @@ "=D" (addr), "=c" (count), "=S" (_port_) : "0" (addr), "1" (count), "2" (_port_) : "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -433,7 +452,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: inw %w2,%%ax \n\ @@ -443,6 +462,10 @@ "=D" (addr), "=c" (count), "=d" (_port_) : "0" (addr), "1" (count), "2" (_port_) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -452,7 +475,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ repne \n\ @@ -460,6 +483,10 @@ "=D" (addr), "=c" (count), "=S" (_port_) : "0" (addr), "1" (count), "2" (_port_) : "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -475,7 +502,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: inl %w2,%%eax \n\ @@ -485,6 +512,10 @@ "=D" (addr), "=c" (count), "=d" (_port_) : "0" (addr), "1" (count), "2" (_port_) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -494,7 +525,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ repne \n\ @@ -502,6 +533,10 @@ "=D" (addr), "=c" (count), "=S" (_port_) : "0" (addr), "1" (count), "2" (_port_) : "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -623,7 +658,7 @@ else #endif { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: lodsb \n\ @@ -632,6 +667,10 @@ "=S" (addr), "=c" (count) : "r" (bsh + offset), "0" (addr), "1" (count) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -652,7 +691,7 @@ else #endif { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: lodsw \n\ @@ -661,6 +700,10 @@ "=S" (addr), "=c" (count) : "r" (bsh + offset), "0" (addr), "1" (count) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -681,7 +724,7 @@ else #endif { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: lodsl \n\ @@ -690,6 +733,10 @@ "=S" (addr), "=c" (count) : "r" (bsh + offset), "0" (addr), "1" (count) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -731,7 +778,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: lodsb \n\ @@ -741,6 +788,10 @@ "=d" (_port_), "=S" (addr), "=c" (count) : "0" (_port_), "1" (addr), "2" (count) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -750,7 +801,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ repne \n\ @@ -758,6 +809,10 @@ "=D" (_port_), "=S" (addr), "=c" (count) : "0" (_port_), "1" (addr), "2" (count) : "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -773,7 +828,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: lodsw \n\ @@ -783,6 +838,10 @@ "=d" (_port_), "=S" (addr), "=c" (count) : "0" (_port_), "1" (addr), "2" (count) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -792,7 +851,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ repne \n\ @@ -800,6 +859,10 @@ "=D" (_port_), "=S" (addr), "=c" (count) : "0" (_port_), "1" (addr), "2" (count) : "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -815,7 +878,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ 1: lodsl \n\ @@ -825,6 +888,10 @@ "=d" (_port_), "=S" (addr), "=c" (count) : "0" (_port_), "1" (addr), "2" (count) : "%eax", "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -834,7 +901,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) __asm __volatile(" \n\ cld \n\ repne \n\ @@ -842,6 +909,10 @@ "=D" (_port_), "=S" (addr), "=c" (count) : "0" (_port_), "1" (addr), "2" (count) : "memory", "cc"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } #endif @@ -1213,11 +1284,15 @@ bus_space_barrier(bus_space_tag_t tag __unused, bus_space_handle_t bsh __unused, bus_size_t offset __unused, bus_size_t len __unused, int flags) { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) if (flags & BUS_SPACE_BARRIER_READ) __asm __volatile("lock; addl $0,0(%%rsp)" : : : "memory"); else __asm __volatile("" : : : "memory"); +#else +# ifndef lint +# error "no assembler code for your compiler" +# endif #endif } ==== //depot/projects/hammer/sys/amd64/include/cpufunc.h#23 (text+ko) ==== @@ -55,7 +55,7 @@ #define writel(va, d) (*(volatile u_int32_t *) (va) = (d)) #define writeq(va, d) (*(volatile u_int64_t *) (va) = (d)) -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) static __inline void breakpoint(void) @@ -708,7 +708,7 @@ write_rflags(rflags); } -#else /* !__GNUC__ */ +#else /* !(__GNUC__ || __INTEL_COMPILER) */ int breakpoint(void); u_int bsfl(u_int mask); @@ -773,7 +773,7 @@ void write_rflags(u_int rf); void wrmsr(u_int msr, u_int64_t newval); -#endif /* __GNUC__ */ +#endif /* __GNUC__ || __INTEL_COMPILER */ void reset_dbregs(void); ==== //depot/projects/hammer/sys/amd64/include/critical.h#14 (text+ko) ==== @@ -46,7 +46,7 @@ */ void cpu_critical_fork_exit(void); -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) /* * cpu_critical_enter: @@ -73,12 +73,12 @@ intr_restore(curthread->td_md.md_savecrit); } -#else /* !__GNUC__ */ +#else /* !(__GNUC__ || __INTEL_COMPILER) */ void cpu_critical_enter(void); void cpu_critical_exit(void); -#endif /* __GNUC__ */ +#endif /* __GNUC__ || __INTEL_COMPILER */ __END_DECLS ==== //depot/projects/hammer/sys/amd64/include/endian.h#6 (text+ko) ==== @@ -40,6 +40,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + /* * Define the order of 32-bit words in 64-bit words. */ @@ -67,7 +71,17 @@ #define BYTE_ORDER _BYTE_ORDER #endif -#ifdef __GNUC__ +#if defined(__INTEL_COMPILER) +#if defined(__cplusplus) +#if __INTEL_COMPILER >= 800 +#define __INTEL_COMPILER_with_FreeBSD_endian 1 +#endif +#else +#define __INTEL_COMPILER_with_FreeBSD_endian 1 +#endif +#endif + +#if defined(__GNUC__) || defined(__INTEL_COMPILER_with_FreeBSD_endian) #define __word_swap_int_var(x) \ __extension__ ({ register __uint32_t __X = (x); \ @@ -181,7 +195,7 @@ #define __ntohl(x) __bswap32(x) #define __ntohs(x) __bswap16(x) -#else /* !__GNUC__ */ +#else /* !(__GNUC__ || __INTEL_COMPILER_with_FreeBSD_endian) */ /* * No optimizations are available for this compiler. Fall back to @@ -190,6 +204,10 @@ */ #define _BYTEORDER_FUNC_DEFINED -#endif /* __GNUC__ */ +#endif /* __GNUC__ || __INTEL_COMPILER_with_FreeBSD_endian */ + +#ifdef __cplusplus +} +#endif #endif /* !_MACHINE_ENDIAN_H_ */ ==== //depot/projects/hammer/sys/amd64/include/ieeefp.h#11 (text+ko) ==== @@ -117,7 +117,7 @@ #define SSE_RND_OFF 13 /* rounding control offset */ #define SSE_FZ_OFF 15 /* flush to zero offset */ -#if defined(__GNUC__) && !defined(__cplusplus) +#if (defined(__GNUC__) || defined(__INTEL_COMPILER)) && !defined(__cplusplus) #define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) #define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) @@ -263,7 +263,7 @@ return (_p); } -#endif /* __GNUC__ && !__cplusplus */ +#endif /* (__GNUC__ || __INTEL_COMPILER) && !__cplusplus */ #if !defined(__IEEEFP_NOINLINES__) && !defined(__cplusplus) && defined(__GNUC__) ==== //depot/projects/hammer/sys/amd64/include/in_cksum.h#7 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/include/pcpu.h#18 (text+ko) ==== @@ -55,7 +55,7 @@ #define PCPU_PTR(member) (&pcpup->pc_ ## member) #define PCPU_SET(member,value) (pcpup->pc_ ## member = (value)) -#elif defined(__GNUC__) +#elif defined(__GNUC__) || defined (__INTEL_COMPILER) /* * Evaluates to the byte offset of the per-cpu variable name. ==== //depot/projects/hammer/sys/amd64/include/profile.h#10 (text+ko) ==== @@ -82,7 +82,7 @@ #define _MCOUNT_DECL static __inline void _mcount -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) #define MCOUNT \ void \ mcount() \ @@ -105,13 +105,13 @@ frompc = ((uintfptr_t *)frompc)[1]; \ _mcount(frompc, selfpc); \ } -#else /* __GNUC__ */ +#else /* !(__GNUC__ || __INTEL_COMPILER) */ #define MCOUNT \ void \ mcount() \ { \ } -#endif /* __GNUC__ */ +#endif /* __GNUC__ || __INTEL_COMPILER */ typedef unsigned long uintfptr_t; @@ -145,7 +145,7 @@ #include __BEGIN_DECLS -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) void mcount(void) __asm(".mcount"); #endif __END_DECLS ==== //depot/projects/hammer/sys/amd64/include/stdarg.h#7 (text+ko) ====