⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mips-tfile.c

📁 早期freebsd实现
💻 C
📖 第 1 页 / 共 5 页
字号:
	    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 + -