📄 mips-tfile.c
字号:
Type = ptr to char String index = 34 Storage class = Info Index = 15 Symbol type = Member Value = 32 Symbol# 4: "_base" Type = ptr to char String index = 39 Storage class = Info Index = 16 Symbol type = Member Value = 64 Symbol# 5: "_bufsiz" Type = int String index = 45 Storage class = Info Index = 4 Symbol type = Member Value = 96 Symbol# 6: "_flag" Type = short String index = 53 Storage class = Info Index = 3 Symbol type = Member Value = 128 Symbol# 7: "_file" Type = char String index = 59 Storage class = Info Index = 2 Symbol type = Member Value = 144 Symbol# 8: "" First symbol = 1 String index = 0 Storage class = Info Index = 1 Symbol type = End Value = 0 Symbol# 9: "/usr/include/stdio.h" First symbol = 0 String index = 1 Storage class = Text Index = 0 Symbol type = End Value = 0 There are 25 auxiliary table entries, starting at 642. * #14 -1, [4095/1048575], [63 1:1 f:f:f:f:f:f] #15 65544, [ 8/ 16], [ 2 0:0 1:0:0:0:0:0] #16 65544, [ 8/ 16], [ 2 0:0 1:0:0:0:0:0] * #17 196656, [ 48/ 48], [12 0:0 3:0:0:0:0:0] * #18 8191, [4095/ 1], [63 1:1 0:0:0:0:f:1] * #19 1, [ 1/ 0], [ 0 1:0 0:0:0:0:0:0] * #20 20479, [4095/ 4], [63 1:1 0:0:0:0:f:4] * #21 1, [ 1/ 0], [ 0 1:0 0:0:0:0:0:0] * #22 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #23 2, [ 2/ 0], [ 0 0:1 0:0:0:0:0:0] * #24 160, [ 160/ 0], [40 0:0 0:0:0:0:0:0] * #25 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #26 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #27 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #28 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #29 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #30 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #31 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #32 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #33 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #34 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #35 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #36 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #37 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] * #38 0, [ 0/ 0], [ 0 0:0 0:0:0:0:0:0] There are 0 procedure descriptor entries, starting at 1. There are 20 external symbols, starting at 1152 Symbol# 0: "_iob" Type = array [3 {160}] of struct _iobuf { ifd = 1, index = 1 } String index = 0 Ifd = 1 Storage class = Nil Index = 17 Symbol type = Global Value = 60 Symbol# 1: "fopen" String index = 5 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 2: "fdopen" String index = 11 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 3: "freopen" String index = 18 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 4: "popen" String index = 26 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 5: "tmpfile" String index = 32 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 6: "ftell" String index = 40 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 7: "rewind" String index = 46 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 8: "setbuf" String index = 53 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 9: "setbuffer" String index = 60 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 10: "setlinebuf" String index = 70 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 11: "fgets" String index = 81 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 12: "gets" String index = 87 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 13: "ctermid" String index = 92 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 14: "cuserid" String index = 100 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 15: "tempnam" String index = 108 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 16: "tmpnam" String index = 116 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 17: "sprintf" String index = 123 Ifd = 1 Storage class = Nil Index = 1048575 Symbol type = Proc Value = 0 Symbol# 18: "main" Type = int String index = 131 Ifd = 0 Storage class = Text Index = 1 Symbol type = Proc Value = 0 Symbol# 19: "printf" String index = 136 Ifd = 0 Storage class = Undefined Index = 1048575 Symbol type = Proc Value = 0 The following auxiliary table entries were unused: #0 0 0x00000000 void #2 8 0x00000008 char #3 16 0x00000010 short #4 24 0x00000018 int #5 32 0x00000020 long #6 40 0x00000028 float #7 44 0x0000002c double #8 12 0x0000000c unsigned char #9 20 0x00000014 unsigned short #10 28 0x0000001c unsigned int #11 36 0x00000024 unsigned long #14 0 0x00000000 void #15 24 0x00000018 int #19 32 0x00000020 long #20 40 0x00000028 float #21 44 0x0000002c double #22 12 0x0000000c unsigned char #23 20 0x00000014 unsigned short #24 28 0x0000001c unsigned int #25 36 0x00000024 unsigned long #26 48 0x00000030 struct no name { ifd = -1, index = 1048575 }*/#include "gvarargs.h"#include "config.h"#include <stdio.h>#ifndef __SABER__#define saber_stop()#endif#ifndef __LINE__#define __LINE__ 0#endif#ifdef __STDC__typedef void *PTR_T;typedef const void *CPTR_T;#define __proto(x) x#else#if defined(_STDIO_H_) || defined(__STDIO_H__) /* Ultrix 4.0, SGI */typedef void *PTR_T;typedef void *CPTR_T;#elsetypedef char *PTR_T; /* Ultrix 3.1 */typedef char *CPTR_T;#endif#define __proto(x) ()#define const#endif/* Do to size_t being defined in sys/types.h and different in stddef.h, we have to do this by hand..... Note, these types are correct for MIPS based systems, and may not be correct for other systems. Ultrix 4.0 and Silicon Graphics have this fixed, but since the following is correct, and the fact that including stddef.h gets you GCC's version instead of the standard one it's not worth it to fix it. */#if defined(__OSF1__) || defined(__OSF__) || defined(__osf__)#define Size_t long unsigned int#else#define Size_t unsigned int#endif#define Ptrdiff_t int/* The following might be called from obstack or malloc, so they can't be static. */extern void pfatal_with_name __proto((char *));extern void fancy_abort __proto((void)); void botch __proto((const char *));extern PTR_T xmalloc __proto((Size_t));extern PTR_T xcalloc __proto((Size_t, Size_t));extern PTR_T xrealloc __proto((PTR_T, Size_t));extern void xfree __proto((PTR_T));extern void fatal(); /* can't use prototypes here */extern void error();#ifndef MIPS_DEBUGGING_INFOstatic int line_number;static int cur_line_start;static int debug;static int had_errors;static char *progname;static char *input_name;intmain (){ fprintf (stderr, "Mips-tfile should only be run on a MIPS computer!\n"); exit (1);}#else /* MIPS_DEBUGGING defined *//* The local and global symbols have a field index, so undo any defines of index -> strchr and rindex -> strrchr. */#undef rindex#undef index#include <sys/types.h>#include <string.h>#include <ctype.h>#include <fcntl.h>#include <errno.h>#include <signal.h>#include <sys/stat.h>#ifndef CROSS_COMPILE#include <a.out.h>#else#include "symconst.h"#define LANGUAGE_C#include "sym.h"#include "filehdr.h"#define ST_RFDESCAPE 0xfff#endif#if defined (USG) || defined (NO_STAB_H)#include "gstab.h" /* If doing DBX on sysV, use our own stab.h. */#else#include <stab.h> /* On BSD, use the system's stab.h. */#endif /* not USG */#ifdef __GNU_STAB__#define STAB_CODE_TYPE enum __stab_debug_code#else#define STAB_CODE_TYPE int#endif#ifdef _OSF_SOURCE#define HAS_STDLIB_H#define HAS_UNISTD_H#endif#ifdef HAS_STDLIB_H#include <stdlib.h>#endif#ifdef HAS_UNISTD_H#include <unistd.h>#endif#ifndef errnoextern int errno; /* MIPS errno.h doesn't declare this */#endif#ifndef MALLOC_CHECK#ifdef __SABER__#define MALLOC_CHECK#endif#endif#define IS_ASM_IDENT(ch) \ (isalnum (ch) || (ch) == '_' || (ch) == '.' || (ch) == '$')/* Redefinition of of storage classes as an enumeration for better debugging. */typedef enum sc { sc_Nil = scNil, /* no storage class */ sc_Text = scText, /* text symbol */ sc_Data = scData, /* initialized data symbol */ sc_Bss = scBss, /* un-initialized data symbol */ sc_Register = scRegister, /* value of symbol is register number */ sc_Abs = scAbs, /* value of symbol is absolute */ sc_Undefined = scUndefined, /* who knows? */ sc_CdbLocal = scCdbLocal, /* variable's value is IN se->va.?? */ sc_Bits = scBits, /* this is a bit field */ sc_CdbSystem = scCdbSystem, /* value is IN CDB's address space */ sc_RegImage = scRegImage, /* register value saved on stack */ sc_Info = scInfo, /* symbol contains debugger information */ sc_UserStruct = scUserStruct, /* addr in struct user for current process */ sc_SData = scSData, /* load time only small data */ sc_SBss = scSBss, /* load time only small common */ sc_RData = scRData, /* load time only read only data */ sc_Var = scVar, /* Var parameter (fortran,pascal) */ sc_Common = scCommon, /* common variable */ sc_SCommon = scSCommon, /* small common */ sc_VarRegister = scVarRegister, /* Var parameter in a register */ sc_Variant = scVariant, /* Variant record */ sc_SUndefined = scSUndefined, /* small undefined(external) data */ sc_Init = scInit, /* .init section symbol */ sc_Max = scMax /* Max storage class+1 */} sc_t;/* Redefinition of symbol type. */typedef enum st { st_Nil = stNil, /* Nuthin' special */ st_Global = stGlobal, /* external symbol */ st_Static = stStatic, /* static */ st_Param = stParam, /* procedure argument */ st_Local = stLocal, /* local variable */ st_Label = stLabel, /* label */ st_Proc = stProc, /* " " Procedure */ st_Block = stBlock, /* beginning of block */ st_End = stEnd, /* end (of anything) */ st_Member = stMember, /* member (of anything - struct/union/enum */ st_Typedef = stTypedef, /* type definition */ st_File = stFile, /* file name */ st_RegReloc = stRegReloc, /* register relocation */ st_Forward = stForward, /* forwarding address */ st_StaticProc = stStaticProc, /* load time only static procs */ st_Constant = stConstant, /* const */ st_Str = stStr, /* string */ st_Number = stNumber, /* pure number (ie. 4 NOR 2+2) */ st_Expr = stExpr, /* 2+2 vs. 4 */ st_Type = stType, /* post-coercion SER */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -