diff options
Diffstat (limited to 'gcc/config/i386')
-rw-r--r-- | gcc/config/i386/cygming.h | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 20 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 7 | ||||
-rw-r--r-- | gcc/config/i386/linux.h | 8 | ||||
-rw-r--r-- | gcc/config/i386/linux64.h | 8 | ||||
-rw-r--r-- | gcc/config/i386/winnt.c | 10 |
7 files changed, 24 insertions, 38 deletions
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index d6f2a85..2f9b0a1 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -294,9 +294,8 @@ extern void i386_pe_unique_section PARAMS ((TREE, int)); asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN)) /* Output function declarations at the end of the file. */ -#undef ASM_FILE_END -#define ASM_FILE_END(FILE) \ - i386_pe_asm_file_end (FILE) +#undef TARGET_ASM_FILE_END +#define TARGET_ASM_FILE_END i386_pe_file_end #undef ASM_COMMENT_START #define ASM_COMMENT_START " #" @@ -332,7 +331,7 @@ extern void i386_pe_unique_section PARAMS ((TREE, int)); extern void i386_pe_record_external_function PARAMS ((const char *)); extern void i386_pe_declare_function_type PARAMS ((FILE *, const char *, int)); extern void i386_pe_record_exported_symbol PARAMS ((const char *, int)); -extern void i386_pe_asm_file_end PARAMS ((FILE *)); +extern void i386_pe_file_end PARAMS ((void)); extern int i386_pe_dllexport_name_p PARAMS ((const char *)); extern int i386_pe_dllimport_name_p PARAMS ((const char *)); diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h index a7d76e7..c40ce69 100644 --- a/gcc/config/i386/i386-protos.h +++ b/gcc/config/i386/i386-protos.h @@ -27,7 +27,7 @@ extern int ix86_can_use_return_insn_p PARAMS ((void)); extern int ix86_frame_pointer_required PARAMS ((void)); extern void ix86_setup_frame_addresses PARAMS ((void)); -extern void ix86_asm_file_end PARAMS ((FILE *)); +extern void ix86_file_end PARAMS ((void)); extern HOST_WIDE_INT ix86_initial_elimination_offset PARAMS((int, int)); extern void ix86_expand_prologue PARAMS ((void)); extern void ix86_expand_epilogue PARAMS ((int)); diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 79c81be..acf037e 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -4705,8 +4705,7 @@ get_pc_thunk_name (name, regno) the return address of the caller and then returns. */ void -ix86_asm_file_end (file) - FILE *file; +ix86_file_end () { rtx xops[2]; int regno; @@ -4733,16 +4732,16 @@ ix86_asm_file_end (file) (*targetm.asm_out.unique_section) (decl, 0); named_section (decl, NULL, 0); - (*targetm.asm_out.globalize_label) (file, name); - fputs ("\t.hidden\t", file); - assemble_name (file, name); - fputc ('\n', file); - ASM_DECLARE_FUNCTION_NAME (file, name, decl); + (*targetm.asm_out.globalize_label) (asm_out_file, name); + fputs ("\t.hidden\t", asm_out_file); + assemble_name (asm_out_file, name); + fputc ('\n', asm_out_file); + ASM_DECLARE_FUNCTION_NAME (asm_out_file, name, decl); } else { text_section (); - ASM_OUTPUT_LABEL (file, name); + ASM_OUTPUT_LABEL (asm_out_file, name); } xops[0] = gen_rtx_REG (SImode, regno); @@ -4751,9 +4750,8 @@ ix86_asm_file_end (file) output_asm_insn ("ret", xops); } -#ifdef SUBTARGET_FILE_END - SUBTARGET_FILE_END (file); -#endif + if (NEED_INDICATE_EXEC_STACK) + file_end_indicate_exec_stack (); } /* Emit code for the SET_GOT patterns. */ diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 536e61b..03d4f60 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1825,11 +1825,8 @@ typedef struct ix86_args { #define EXPAND_BUILTIN_VA_ARG(VALIST, TYPE) \ ix86_va_arg ((VALIST), (TYPE)) -/* This macro is invoked at the end of compilation. It is used here to - output code for -fpic that will load the return address into %ebx. */ - -#undef ASM_FILE_END -#define ASM_FILE_END(FILE) ix86_asm_file_end (FILE) +#define TARGET_ASM_FILE_END ix86_file_end +#define NEED_INDICATE_EXEC_STACK 0 /* Output assembler code to FILE to increment profiler label # LABELNO for profiling a function entry. */ diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h index 8f0a22c..df66a58 100644 --- a/gcc/config/i386/linux.h +++ b/gcc/config/i386/linux.h @@ -223,12 +223,8 @@ Boston, MA 02111-1307, USA. */ : "=d"(BASE)) #endif -#define SUBTARGET_FILE_END(FILE) \ - do { \ - named_section_flags (".note.GNU-stack", \ - SECTION_DEBUG \ - | (trampolines_created ? SECTION_CODE : 0)); \ - } while (0) +#undef NEED_INDICATE_EXEC_STACK +#define NEED_INDICATE_EXEC_STACK 1 /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h index ec398de..582a22ba 100644 --- a/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h @@ -71,12 +71,8 @@ Boston, MA 02111-1307, USA. */ #define MULTILIB_DEFAULTS { "m64" } -#define SUBTARGET_FILE_END(FILE) \ - do { \ - named_section_flags (".note.GNU-stack", \ - SECTION_DEBUG \ - | (trampolines_created ? SECTION_CODE : 0)); \ - } while (0) +#undef NEED_INDICATE_EXEC_STACK +#define NEED_INDICATE_EXEC_STACK 1 /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 04f5ced..97cea6c 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -763,12 +763,11 @@ i386_pe_record_exported_symbol (name, is_data) output the .drectve section. */ void -i386_pe_asm_file_end (file) - FILE *file; +i386_pe_file_end () { struct extern_list *p; - ix86_asm_file_end (file); + ix86_file_end (); for (p = extern_head; p != NULL; p = p->next) { @@ -780,7 +779,8 @@ i386_pe_asm_file_end (file) if (! TREE_ASM_WRITTEN (decl) && TREE_SYMBOL_REFERENCED (decl)) { TREE_ASM_WRITTEN (decl) = 1; - i386_pe_declare_function_type (file, p->name, TREE_PUBLIC (decl)); + i386_pe_declare_function_type (asm_out_file, p->name, + TREE_PUBLIC (decl)); } } @@ -790,7 +790,7 @@ i386_pe_asm_file_end (file) drectve_section (); for (q = export_head; q != NULL; q = q->next) { - fprintf (file, "\t.ascii \" -export:%s%s\"\n", + fprintf (asm_out_file, "\t.ascii \" -export:%s%s\"\n", i386_pe_strip_name_encoding (q->name), (q->is_data) ? ",data" : ""); } |