This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/43293] Invalid unwind info for i?86 -fpic
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Mar 2010 20:45:16 -0000
- Subject: [Bug debug/43293] Invalid unwind info for i?86 -fpic
- References: <bug-43293-87@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from jakub at gcc dot gnu dot org 2010-03-24 20:45 -------
Subject: Bug 43293
Author: jakub
Date: Wed Mar 24 20:44:48 2010
New Revision: 157707
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157707
Log:
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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/darwin.h
trunk/gcc/config/i386/i386-protos.h
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.h
trunk/gcc/config/i386/linux.h
trunk/gcc/config/i386/linux64.h
trunk/gcc/config/i386/winnt.c
trunk/gcc/doc/tm.texi
trunk/gcc/target-def.h
trunk/gcc/target.h
trunk/gcc/toplev.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43293