[PATCH] Fix breakage caused by my last PR43293 patch (PR bootstrap/43511)
Jakub Jelinek
jakub@redhat.com
Thu Mar 25 13:34:00 GMT 2010
Hi!
My patch to provide unwind info for i?86 pc thunks even with
-fno-dwarf2-cfi-asm broke darwin bootstrap.
The following patch fixes it by making sure function_section of the
artificial decl to which dwarf2out_begin_prologue switches is the
same as the code has switched to manually. For non-darwin we
set either unique_section_name for the decl, or just use text_section,
so the only problem would be if the last routine emitted before the pc
thunks started with cold block with hot/cold partitioning.
This is normally cleared in assemble_function_start, but we don't call
that for pc thunks (maybe we should eventually).
Committing to trunk as obvious.
2010-03-25 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/43511
* config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
Clear first_function_block_is_cold.
--- gcc/config/i386/i386.c.jj 2010-03-25 00:26:23.000000000 +0100
+++ gcc/config/i386/i386.c 2010-03-25 13:00:35.000000000 +0100
@@ -7614,6 +7614,7 @@ ix86_code_end (void)
assemble_name (asm_out_file, name);
fputs ("\n", asm_out_file);
ASM_OUTPUT_LABEL (asm_out_file, name);
+ DECL_WEAK (decl) = 1;
}
else
#endif
@@ -7639,6 +7640,7 @@ 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);
Jakub
More information about the Gcc-patches
mailing list