+/* Declarations of constants for internal format of MIPS ECOFF symbols.
+ Originally contributed by MIPS Computer Systems and Third Eye Software.
+ Changes contributed by Cygnus Support are in the public domain.
+
+ This file is just aggregated with the files that make up the GNU
+ release; it is not considered part of GAS, GDB, or other GNU
+ programs. */
+
/*
* |-----------------------------------------------------------|
* | Copyright (c) 1992, 1991, 1990 MIPS Computer Systems, Inc.|
* | maintained in the copy. |
* |-----------------------------------------------------------|
*/
-/* $Header$ */
/* (C) Copyright 1984 by Third Eye Software, Inc.
*
/* magic number fo symheader */
#define magicSym 0x7009
+/* The Alpha uses this value instead, for some reason. */
+#define magicSym2 0x1992
/* Language codes */
#define langC 0
#define langAda 6
#define langPl1 7
#define langCobol 8
-#define langStdc 9
-#define langMax 10 /* maximun allowed 32 -- 5 bits */
+#define langStdc 9 /* FIXME: Collides with SGI langCplusplus */
+#define langCplusplus 9 /* FIXME: Collides with langStdc */
+#define langCplusplusV2 10 /* SGI addition */
+#define langMax 11 /* maximum allowed 32 -- 5 bits */
/* The following are value definitions for the fields in the SYMR */
#define scXData 24 /* exception handling data */
#define scPData 25 /* Procedure section */
#define scFini 26 /* .fini section */
+#define scRConst 27 /* .rconst section */
#define scMax 32
#define stStaticProc 14 /* load time only static procs */
#define stConstant 15 /* const */
#define stStaParam 16 /* Fortran static parameters */
- /* Psuedo-symbols - internal to debugger */
+ /* These new symbol types have been recently added to SGI machines. */
+#define stStruct 26 /* Beginning of block defining a struct type */
+#define stUnion 27 /* Beginning of block defining a union type */
+#define stEnum 28 /* Beginning of block defining an enum type */
+#define stIndirect 34 /* Indirect type specification */
+ /* Pseudo-symbols - internal to debugger */
#define stStr 60 /* string */
#define stNumber 61 /* pure number (ie. 4 NOR 2+2) */
#define stExpr 62 /* 2+2 vs. 4 */
#define tqMax 8
/* basic types as seen in ti.bt */
-#define btNil 0 /* undefined */
+#define btNil 0 /* undefined (also, enum members) */
#define btAdr 1 /* address - integer same size as pointer */
#define btChar 2 /* character */
#define btUChar 3 /* unsigned character */
#define btVoid 26 /* void */
#define btLongLong 27 /* long long */
#define btULongLong 28 /* unsigned long long */
+#define btLong64 30 /* long (64-bit) */
+#define btULong64 31 /* unsigned long (64-bit) */
+#define btLongLong64 32 /* long long (64-bit) */
+#define btULongLong64 33 /* unsigned long long (64-bit) */
+#define btAdr64 34 /* address (64-bit) */
+#define btInt64 35 /* int (64-bit) */
+#define btUInt64 36 /* unsigned int (64-bit) */
#define btMax 64
#if (_MFG == _MIPS)
#define otInline 4 /* inline procedure */
#define otEnd 5 /* whatever you started */
#define otMax 6 /* KEEP UP TO DATE */
-#endif (_MFG == _MIPS)
+#endif /* (_MFG == _MIPS) */