summaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-24 20:44:48 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-24 20:44:48 +0000
commit5cbd74a3553a587398ce7ac81a8994b96ce33051 (patch)
tree38ab18bcefc3a4d40156011bab09d1a86a4a0d59 /gcc/target.h
parent21a38800fac8ad3d09a560287a2223b9ed1c9db5 (diff)
downloadgcc-5cbd74a3553a587398ce7ac81a8994b96ce33051.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157707 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/target.h b/gcc/target.h
index ae3b352342f..645bd0adeec 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -1,5 +1,5 @@
/* Data structure definitions for a generic GCC target.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
@@ -235,6 +235,10 @@ struct gcc_target
translation unit. */
void (*file_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);
+
/* Output an assembler pseudo-op to declare a library function name
external. */
void (*external_libcall) (rtx);