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

📄 iris6.h

📁 GCC编译器源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
  if (in_section != in_sdata)						\    {									\      fprintf (asm_out_file, "%s\n", SDATA_SECTION_ASM_OP);		\      in_section = in_sdata;						\    }									\}									\									\void									\rdata_section ()							\{									\  if (in_section != in_rdata)						\    {									\      if (mips_abi != ABI_32)						\	fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP_64);	\      else								\	fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP_32);	\      in_section = in_rdata;						\    }									\}									\  CTORS_SECTION_FUNCTION						\  DTORS_SECTION_FUNCTION#define CTORS_SECTION_FUNCTION						\void									\ctors_section ()							\{									\  if (in_section != in_ctors)						\    {									\      fprintf (asm_out_file, "%s\n", CTORS_SECTION_ASM_OP);		\      in_section = in_ctors;						\    }									\}#define DTORS_SECTION_FUNCTION						\void									\dtors_section ()							\{									\  if (in_section != in_dtors)						\    {									\      fprintf (asm_out_file, "%s\n", DTORS_SECTION_ASM_OP);		\      in_section = in_dtors;						\    }									\}/* A C statement (sans semicolon) to output an element in the table of   global constructors.  */#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME)				\  do {									\    ctors_section ();							\    fprintf (FILE, "\t%s\t ",						\	     TARGET_LONG64 ? ".dword" : ".word");			\    assemble_name (FILE, NAME);						\    fprintf (FILE, "\n");						\  } while (0)/* A C statement (sans semicolon) to output an element in the table of   global destructors.  */#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME)       				\  do {									\    dtors_section ();                   				\    fprintf (FILE, "\t%s\t ",						\	     TARGET_LONG64 ? ".dword" : ".word");			\    assemble_name (FILE, NAME);              				\    fprintf (FILE, "\n");						\  } while (0)/* A C statement to output something to the assembler file to switch to section   NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or   NULL_TREE.  */#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC)			\do {									\  extern FILE *asm_out_text_file;					\  if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL)			\    fprintf (asm_out_text_file, "\t.section %s,1,6,4,4\n", (NAME));	\  else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC))		\    fprintf (F, "\t.section %s,1,2,0,8\n", (NAME));			\  else									\    fprintf (F, "\t.section %s,1,3,0,8\n", (NAME));			\} while (0)/* Stuff for constructors.  End here.  *//* ??? Perhaps just include svr4.h in this file?  *//* ??? SGI assembler may core dump when compiling with -g.   Sometimes as succeeds, but then we get a linker error. (cmds.c in 072.sc)   Getting rid of .file solves both problems.  */#undef ASM_OUTPUT_FILENAME#define ASM_OUTPUT_FILENAME(STREAM, NUM_SOURCE_FILENAMES, NAME) \do								\  {								\    fprintf (STREAM, "\t#.file\t%d ", NUM_SOURCE_FILENAMES);	\    output_quoted_string (STREAM, NAME);			\    fputs ("\n", STREAM);					\  }								\while (0)/* ??? SGI assembler gives warning whenever .lcomm is used.  */#undef ASM_OUTPUT_LOCAL#define ASM_OUTPUT_ALIGNED_LOCAL(STREAM, NAME, SIZE, ALIGN)		   \do									   \  {									   \    if (mips_abi != ABI_32)						   \      {									   \	fprintf (STREAM, "%s\n", BSS_SECTION_ASM_OP);			   \	mips_declare_object (STREAM, NAME, "", ":\n", 0);		   \	ASM_OUTPUT_ALIGN (STREAM, floor_log2 (ALIGN / BITS_PER_UNIT));	   \	ASM_OUTPUT_SKIP (STREAM, SIZE);					   \	fprintf (STREAM, "\t%s\n", POPSECTION_ASM_OP);			   \      }									   \    else								   \      mips_declare_object (STREAM, NAME, "\n\t.lcomm\t", ",%u\n", (SIZE)); \  }									   \while (0)/* A C statement (sans semicolon) to output to the stdio stream   FILE the assembler definition of uninitialized global DECL named   NAME whose size is SIZE bytes and alignment is ALIGN bytes.   Try to use asm_output_aligned_bss to implement this macro.  */#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)/* Write the extra assembler code needed to declare an object properly.  */#undef ASM_DECLARE_OBJECT_NAME#define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL)			\do									\ {									\   size_directive_output = 0;						\   if (!flag_inhibit_size_directive && DECL_SIZE (DECL))	\     {									\       size_directive_output = 1;					\       fprintf (STREAM, "\t%s\t ", SIZE_ASM_OP);			\       assemble_name (STREAM, NAME);					\       fprintf (STREAM, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL)));	\     }									\   mips_declare_object (STREAM, NAME, "", ":\n", 0);			\ }									\while (0)/* Output the size directive for a decl in rest_of_decl_compilation   in the case where we did not do so before the initializer.   Once we find the error_mark_node, we know that the value of   size_directive_output was set   by ASM_DECLARE_OBJECT_NAME when it was run for the same decl.  */#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)	 \do {									 \     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);			 \     if (!flag_inhibit_size_directive && DECL_SIZE (DECL)		 \         && ! AT_END && TOP_LEVEL					 \	 && DECL_INITIAL (DECL) == error_mark_node			 \	 && !size_directive_output)					 \       {								 \	 size_directive_output = 1;					 \	 fprintf (FILE, "\t%s\t ", SIZE_ASM_OP);			 \	 assemble_name (FILE, name);					 \	 fprintf (FILE, ",%d\n",  int_size_in_bytes (TREE_TYPE (DECL))); \       }								 \   } while (0)#undef LOCAL_LABEL_PREFIX#define LOCAL_LABEL_PREFIX (mips_abi == ABI_32 ? "$" : ".")/* Profiling is supported via libprof1.a not -lc_p as in Irix 3.  *//* ??? If no mabi=X option give, but a mipsX option is, then should depend   on the mipsX option.  */#undef STARTFILE_SPEC#define STARTFILE_SPEC \  "%{!static:%{!shared: \     %{mabi=32:%{pg:gcrt1.o%s} \       %{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}} \     %{mabi=n32: \       %{mips4:%{pg:/usr/lib32/mips4/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips4/mcrt1.o%s /usr/lib32/mips4/libprof1.a%s} \           %{!p:/usr/lib32/mips4/crt1.o%s}}} \       %{!mips4:%{pg:/usr/lib32/mips3/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips3/mcrt1.o%s /usr/lib32/mips3/libprof1.a%s} \           %{!p:/usr/lib32/mips3/crt1.o%s}}}} \     %{mabi=64: \       %{mips4:%{pg:/usr/lib64/mips4/gcrt1.o} \         %{!pg:%{p:/usr/lib64/mips4/mcrt1.o /usr/lib64/mips4/libprof1.a} \           %{!p:/usr/lib64/mips4/crt1.o}}} \       %{!mips4:%{pg:/usr/lib64/mips3/gcrt1.o} \         %{!pg:%{p:/usr/lib64/mips3/mcrt1.o /usr/lib64/mips3/libprof1.a} \           %{!p:/usr/lib64/mips3/crt1.o}}}} \     %{!mabi*: \       %{mips4:%{pg:/usr/lib32/mips4/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips4/mcrt1.o%s /usr/lib32/mips4/libprof1.a%s} \           %{!p:/usr/lib32/mips4/crt1.o%s}}} \       %{!mips4:%{pg:/usr/lib32/mips3/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips3/mcrt1.o%s /usr/lib32/mips3/libprof1.a%s} \           %{!p:/usr/lib32/mips3/crt1.o%s}}}}}} \   %{static: \     %{mabi=32:%{pg:/usr/lib/nonshared/gcrt1.o%s} \       %{!pg:%{p:/usr/lib/nonshared/mcrt1.o%s /usr/lib/nonshared/libprof1.a%s} \         %{!p:/usr/lib/nonshared/crt1.o%s}}} \     %{mabi=n32: \       %{mips4:%{pg:/usr/lib32/mips4/nonshared/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips4/nonshared/mcrt1.o%s \             /usr/lib32/mips4/nonshared/libprof1.a%s} \           %{!p:/usr/lib32/mips4/nonshared/crt1.o%s}}} \       %{!mips4:%{pg:/usr/lib32/mips3/nonshared/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips3/nonshared/mcrt1.o%s \             /usr/lib32/mips3/nonshared/libprof1.a%s} \           %{!p:/usr/lib32/mips3/nonshared/crt1.o%s}}}} \     %{mabi=64: \       %{mips4:%{pg:/usr/lib64/mips4/nonshared/gcrt1.o} \         %{!pg:%{p:/usr/lib64/mips4/nonshared/mcrt1.o \             /usr/lib64/mips4/nonshared/libprof1.a} \           %{!p:/usr/lib64/mips4/nonshared/crt1.o}}} \       %{!mips4:%{pg:/usr/lib64/mips3/nonshared/gcrt1.o} \         %{!pg:%{p:/usr/lib64/mips3/nonshared/mcrt1.o \             /usr/lib64/mips3/nonshared/libprof1.a} \           %{!p:/usr/lib64/mips3/nonshared/crt1.o}}}} \     %{!mabi*: \       %{mips4:%{pg:/usr/lib32/mips4/nonshared/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips4/nonshared/mcrt1.o%s \             /usr/lib32/mips4/nonshared/libprof1.a%s} \           %{!p:/usr/lib32/mips4/nonshared/crt1.o%s}}} \       %{!mips4:%{pg:/usr/lib32/mips3/nonshared/gcrt1.o%s} \         %{!pg:%{p:/usr/lib32/mips3/nonshared/mcrt1.o%s \           /usr/lib32/mips3/nonshared/libprof1.a%s} \         %{!pg:%{p:/usr/lib32/mips3/nonshared/mcrt1.o%s \             /usr/lib32/mips3/nonshared/libprof1.a%s} \           %{!p:/usr/lib32/mips3/nonshared/crt1.o%s}}}}}} \   crtbegin.o%s"#undef LIB_SPEC#define LIB_SPEC \  "%{mabi=n32: %{mips4:-L/usr/lib32/mips4} %{!mips4:-L/usr/lib32/mips3} \     -L/usr/lib32} \   %{mabi=64: %{mips4:-L/usr/lib64/mips4} %{!mips4:-L/usr/lib64/mips3} \     -L/usr/lib64} \   %{!mabi*: %{mips4:-L/usr/lib32/mips4} %{!mips4:-L/usr/lib32/mips3} \     -L/usr/lib32} \   %{!shared: \     -dont_warn_unused %{p:libprof1.a%s}%{pg:libprof1.a%s} -lc -warn_unused}"/* Avoid getting two warnings for libgcc.a everytime we link.  */#undef LIBGCC_SPEC#define LIBGCC_SPEC "-dont_warn_unused -lgcc -warn_unused"/* ??? If no mabi=X option give, but a mipsX option is, then should depend   on the mipsX option.  */#undef ENDFILE_SPEC#define ENDFILE_SPEC \  "crtend.o%s \   %{!shared: \     %{mabi=32:crtn.o%s}\     %{mabi=n32:%{mips4:/usr/lib32/mips4/crtn.o%s}\       %{!mips4:/usr/lib32/mips3/crtn.o%s}}\     %{mabi=64:%{mips4:/usr/lib64/mips4/crtn.o%s}\       %{!mips4:/usr/lib64/mips3/crtn.o%s}}\     %{!mabi*:%{mips4:/usr/lib32/mips4/crtn.o%s}\       %{!mips4:/usr/lib32/mips3/crtn.o%s}}}"/* ??? If no mabi=X option give, but a mipsX option is, then should depend   on the mipsX option.  */#undef LINK_SPEC#define LINK_SPEC "\%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \%{bestGnum} %{shared} %{non_shared} \%{call_shared} %{no_archive} %{exact_version} %{w} \%{static: -non_shared} \%{!static: \  %{!shared: %{!non_shared: %{!call_shared: -call_shared -no_unresolved}}}} \%{rpath} -init __do_global_ctors -fini __do_global_dtors \%{shared:-hidden_symbol __do_global_ctors,__do_global_dtors,__EH_FRAME_BEGIN__} \-_SYSTYPE_SVR4 %{mabi=32: -32}%{mabi=n32: -n32}%{mabi=64: -64} %{!mabi*: -n32}"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -