OSDN Git Service

PR debug/43293
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Mar 2010 20:44:48 +0000 (20:44 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 05:14:34 +0000 (14:14 +0900)
* target.h (struct gcc_target): Add code_end hook.
* target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
if not yet defined.
(TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
* toplev.c (compile_file): Call targetm.asm_out.code_end
hook before unwind info/debug info output.
* config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
* config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
(TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
* config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
(TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
* config/i386/i386.c (ix86_file_end): Renamed to...
(ix86_code_end): ... this.  Make static.  Don't call
file_end_indicate_exec_stack.  Emit unwind info using
final_start_function/final_end_function.
(darwin_x86_file_end): Remove.
(TARGET_ASM_CODE_END): Define.
* config/i386/i386.h (TARGET_ASM_FILE_END,
NEED_INDICATE_EXEC_STACK): Don't define.
* config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
(TARGET_ASM_FILE_END): Define to darwin_file_end.
* config/i386/i386-protos.h (ix86_file_end): Remove prototype.
* doc/tm.texi (TARGET_ASM_CODE_END): Document.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157707 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/doc/tm.texi
gcc/target-def.h
gcc/target.h

index 4298e51..9836eaf 100644 (file)
@@ -1,5 +1,30 @@
 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
 
+       PR debug/43293
+       * target.h (struct gcc_target): Add code_end hook.
+       * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
+       if not yet defined.
+       (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
+       * toplev.c (compile_file): Call targetm.asm_out.code_end
+       hook before unwind info/debug info output.
+       * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
+       * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
+       (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
+       * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
+       (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
+       * config/i386/i386.c (ix86_file_end): Renamed to...
+       (ix86_code_end): ... this.  Make static.  Don't call
+       file_end_indicate_exec_stack.  Emit unwind info using
+       final_start_function/final_end_function.
+       (darwin_x86_file_end): Remove.
+       (TARGET_ASM_CODE_END): Define.
+       * config/i386/i386.h (TARGET_ASM_FILE_END,
+       NEED_INDICATE_EXEC_STACK): Don't define.
+       * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
+       (TARGET_ASM_FILE_END): Define to darwin_file_end.
+       * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
+       * doc/tm.texi (TARGET_ASM_CODE_END): Document.
+
        PR target/43498
        * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
        at the beginning and final_end_function at the end.
index a54651d..db5775a 100644 (file)
@@ -7784,7 +7784,6 @@ ix86_code_end (void)
       DECL_INITIAL (decl) = make_node (BLOCK);
       current_function_decl = decl;
       init_function_start (decl);
-      first_function_block_is_cold = false;
       /* Make sure unwind info is emitted for the thunk if needed.  */
       final_start_function (emit_barrier (), asm_out_file, 1);
 
index 8f9bbe7..659ea95 100644 (file)
@@ -7203,18 +7203,6 @@ need to do other things in that hook, have your hook function call
 this function.
 @end deftypefun
 
-@deftypefn {Target Hook} void TARGET_ASM_LTO_START (void)
-Output to @code{asm_out_file} any text which the assembler expects
-to find at the start of an LTO section.  The default is to output
-nothing.
-@end deftypefn
-
-@deftypefn {Target Hook} void TARGET_ASM_LTO_END (void)
-Output to @code{asm_out_file} any text which the assembler expects
-to find at the end of an LTO section.  The default is to output
-nothing.
-@end deftypefn
-
 @deftypefn {Target Hook} void TARGET_ASM_CODE_END (void)
 Output to @code{asm_out_file} any text which is needed before emitting
 unwind info and debug info at the end of a file.  Some targets emit
index 3ead370..dc47017 100644 (file)
 #define TARGET_ASM_FILE_END hook_void_void
 #endif
 
-#ifndef TARGET_ASM_LTO_START
-#define TARGET_ASM_LTO_START hook_void_void
-#endif
-
-#ifndef TARGET_ASM_LTO_END
-#define TARGET_ASM_LTO_END hook_void_void
-#endif
-
 #ifndef TARGET_ASM_CODE_END
 #define TARGET_ASM_CODE_END hook_void_void
 #endif
                         TARGET_ASM_CAN_OUTPUT_MI_THUNK,         \
                         TARGET_ASM_FILE_START,                  \
                         TARGET_ASM_FILE_END,                   \
-                        TARGET_ASM_LTO_START,                  \
-                        TARGET_ASM_LTO_END,                    \
                         TARGET_ASM_CODE_END,                   \
                        TARGET_ASM_EXTERNAL_LIBCALL,            \
                         TARGET_ASM_MARK_DECL_PRESERVED,                \
index 29ec84f..be423b9 100644 (file)
@@ -238,14 +238,6 @@ struct gcc_target
        translation unit.  */
     void (*file_end) (void);
 
-    /* Output any boilerplate text needed at the beginning of an
-       LTO output stream.  */
-    void (*lto_start) (void);
-
-    /* Output any boilerplate text needed at the end of an
-       LTO output stream.  */
-    void (*lto_end) (void);
-
     /* Output any boilerplace text needed at the end of a
        translation unit before debug and unwind info is emitted.  */
     void (*code_end) (void);