On Wed, Feb 07, 2001 at 07:22:19PM +0000, Alan Cox wrote: > > In file included from init.c:30: > > ../../prolog.h:344:8: invalid #ident > > It doesnt say #ident isnt supported it says your use of it is invalid. What > precisely does that line read ? JJ tried it and it worked on some version he was running, but fails on the 7.1 build. Here is the code that produces the offending messages. I got an "invalid keyword" (sorry, it was not "unknown" but "invalid", that was a different error message on gcc 2.96). Jeff
/* $Id: prolog.h,v 3.37 2000/11/16 14:30:02 hasv Exp $ */ /******************************************************************************* * * * Copyright (C) 1993 - 2000 * * Dolphin Interconnect Solutions AS * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, * * or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * * * * *******************************************************************************/ /* * ============================================================================================ * This a prolog file which shall be included in all C and H files as the very, VERY , V E R Y, * first file include, more, the include statement for this should be first statement in the * file, including preprocessor statements. * * Expected predefines: * * One of * _IRM_INTERNAL_: Set if this file is included as a part IRM source. * _SISCI_INTERNAL_: Set if this file is included as a part SISCI source. * * One of: * ------- * OS_IS_SOLARIS: Set if the target os is Solaris. * OS_IS_NT: Set if the target os is WIN NT. * OS_IS_LINUX: Set if the target os is Linux. * OS_IS_LYNX: Set if the target os is LYNX. * * (Set by OS specific file in MAKE subdirectory). * * One of: * ------- * CPU_ARCH_IS_X86: Set if target architecture is INTEL X86. * CPU_ARCH_IS_SPARC: Set if target architecture is SPARC (32 bit). * CPU_ARCH_IS_SPARC64: Set if target architecture is SPARC (64 bit). * CPU_ARCH_IS_ALPHA: Set if target architechture is ALPHA * CPU_ARCH_IS_PPC: Set if target architechture is PowerPC * * (Set by CPU Architecture specific file in MAKE subdirectory). * * One of: * ------- * ADAPTER_IS_SBUS2: Set if target adapter is sbus2. * ADAPTER_IS_PCI1: Set if target adapter is pci1. * ADAPTER_IS_PSB64: Set if target adapter is psb64. * ADAPTER_IS_PSB66: Set if target adapter is psb66 * * (Set by ADAPTER specific file in MAKE subdirectory). * * ============================================================================================ */ #ifndef _SCI_IRM_PROLOG_H_ #define _SCI_IRM_PROLOG_H_ #ifndef _IRM_INTERNAL_ #define _IRM_INTERNAL_ 1 #endif #if _IRM_INTERNAL_ /* * ============================================================== * Section for general IRM compilation flags * * ============================================================== */ #define SESSION_HEARTBEATS_DISABLE_SUPPORT 1 #define LINK_WATCHDOG_DISABLE_SUPPORT 1 /* * ============================================================== * PCI1 (PSB32) - D308 / D310 * * ============================================================== */ #if ADAPTER_IS_PCI1 #define PCI 1 #define PSB2 1 /* old to be changed to PSB32 */ #define PCI1 1 /* old to be changed to PSB32 */ #define PCI2 1 /* old to be changed to PSB32 */ #define PSB32 1 #define PSB1_REV_B 1 #define PSB1_REV_C 1 #define PSB1_REV_D 1 #endif /* * ============================================================== * PSB64 - D32x * * ============================================================== */ #if ADAPTER_IS_PSB64 #define PCI 1 #define PSB64 1 #endif /* * ============================================================== * PSB66 - D33x * * ============================================================== */ #if ADAPTER_IS_PSB66 #define PCI 1 #define PSB66 1 #endif /* * ============================================================================================ * SOLARIS specific defines * (Should really be in "os/prolog.h" since they are Solaris Specific.) * ============================================================================================ */ #if OS_IS_SOLARIS #define OS_ADAPTER_QUERIES 1 #define RESTRICTED_CONSOLE_LOG 1 #define NOLOCK_HEARTBEATS 1 #define LARGE_DMA_QUEUE 1 #if CPU_ARCH_IS_X86 #define _USE_NEW_SOLARIS_DDI_INTERFACE 1 #define _OBSCURE_ALIGN_RESTRICTION 1 #define _UNIQ_DMA_HANDLE 1 #define USE_SOFTINTR 1 #endif #if SOLARIS_27 #define SOL27 1 #endif #define IDENT_IS_SUPPORTED 1 #endif /* * ============================================================================================ * NT specific defines * (Should really be in "os/prolog.h" since they are OS Specific.) * ============================================================================================ */ #if OS_IS_NT #define ENABLE_PSB1_REV_D_LOOPBACK_ON_BLINK 1 #endif /* * ============================================================================================ * Linux specific defines * (Should really be in "os/prolog.h" since they are OS Specific.) * ============================================================================================ */ #if OS_IS_LINUX #define Linux 1 #define LINUX 1 #define MODULE 1 #define WRITE_COMBINING_SUPPORT 1 #define ENABLE_PSB1_REV_D_LOOPBACK_ON_BLINK 1 #define IDENT_IS_SUPPORTED 1 /* * MT_DMA and MT_FLAGINT are still defined in mkIRM.def even if they are OS specific. * The lines below will undefinde them */ #undef MT_DMA #undef MT_FLAGINT #endif /* * ============================================================================================ * Tru64 specific defines * (Should really be in "os/prolog.h" since they are OS Specific.) * ============================================================================================ */ #if OS_IS_TRU64 #define BUILD_NAME "Alpha 1" /* * MT_DMA and MT_FLAGINT are still defined in mkIRM.def even if they are OS specific. * The lines below will undefinde them */ #undef MT_DMA #undef MT_FLAGINT #endif /* * ============================================================================================ * LynxOS specific defines * (Should really be in "os/prolog.h" since they are OS Specific.) * ============================================================================================ */ #if OS_IS_LYNX #define BUILD_NAME "Alpha 1" /* * MT_DMA and MT_FLAGINT are still defined in mkIRM.def even if they are OS specific. * The lines below will undefinde them */ #undef MT_DMA #undef MT_FLAGINT #if CPU_ARCH_IS_PPC #define __drm__ 1 #endif /* * Uncomment statement below to enable dynamic IRM installation. Static installation is * required for SISCI support - Lynx 3.0.1 */ /* #define DLDD 1 */ /* * Uncomment the statement below to enable * Hot Swap Support on Lynx 3.0.1 (for PPC) or Lynx 3.1 (for X86 and/or PPC) * * NOTE : DON'T ENABLE HS_SUPPORT IF __drm__ IS NOT DEFINED */ #define HS_SUPPORT 1 #endif /* * ============================================================================================ * VXWORKS specific defines * (Should really be in "os/prolog.h" since they are OS Specific.) * ============================================================================================ */ #if OS_IS_VXWORKS #define HS_SUPPORT 1 /* * MT_DMA and MT_FLAGINT are still defined in mkIRM.def even if they are OS specific. * The lines below will undefinde them */ #undef MT_DMA #undef MT_FLAGINT #endif /* * ============================================================================================ * Intel X86 specific defines * (Should really be in "cpu/prolog.h" since they are architecture Specific.) * ============================================================================================ */ #if CPU_ARCH_IS_X86 #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN 1 #define _X86_ 1 #endif #endif /* * ============================================================================================ * ALPHA Architecture specific defines * (Should really be in "cpu/prolog.h" since they are architecture Specific.) * ============================================================================================ */ #if CPU_ARCH_IS_ALPHA #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN 1 #endif #define CPU_WORD_IS_64_BIT 1 #endif /* * ============================================================================================ * PowerPC specific defines * (Should really be in "cpu/prolog.h" since they are architecture Specific.) * ============================================================================================ */ #if CPU_ARCH_IS_PPC #ifndef BIG_ENDIAN #define BIG_ENDIAN 1 #define __powerpc__ 1 #endif #endif /* * ============================================================================================ * Sparc specific defines * (Should really be in "cpu/prolog.h" since they are architecture Specific.) * ============================================================================================ */ #if CPU_ARCH_IS_SPARC #ifndef BIG_ENDIAN #define BIG_ENDIAN 1 #endif #endif /* * ============================================================================================ * Consistency checks * ============================================================================================ */ #if (LITTLE_ENDIAN && BIG_ENDIAN) || !(LITTLE_ENDIAN || BIG_ENDIAN) #error Either LITTLE_ENDIAN or BIG_ENDIAN must be defined. Not both. #endif /* * ============================================================================================ * Add the CVS Id to the comment section of the binary file. * ============================================================================================ */ #ifdef CVSID #ifdef IDENT_IS_SUPPORTED #ident CVSID #ident "@(#)$Id: prolog.h,v 3.37 2000/11/16 14:30:02 hasv Exp $" static char cvsid[] = CVSID; #else static char cvsid[] = CVSID; #endif #else #error CVSID have to be defined #endif #endif _IRM_INTERNAL_ #endif _SCI_IRM_PROLOG_H_