diff options
author | Stefan Dösinger <stefan@codeweavers.com> | 2009-10-20 09:23:35 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2009-10-20 09:23:35 +0200 |
commit | bd62d832fbc4521641ef006145c2f83a71382bf2 (patch) | |
tree | fb46ec5bad4eadcde93e7bb2b313f7eea858d666 /gcc/config | |
parent | f116b2fce3a9bbfe8d3c1d91e370640a2ddbe50c (diff) | |
download | gcc-bd62d832fbc4521641ef006145c2f83a71382bf2.zip gcc-bd62d832fbc4521641ef006145c2f83a71382bf2.tar.gz gcc-bd62d832fbc4521641ef006145c2f83a71382bf2.tar.bz2 |
i386.c: Remove signal.h #include.
* config/i386/i386.c: Remove signal.h #include.
From-SVN: r153005
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/i386.c | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 73913b8..6065f49 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -8332,39 +8332,39 @@ ix86_expand_prologue (void) rtx push, mov; /* Make sure the function starts with - 8b ff movl.s %edi,%edi - 55 push %ebp - 8b ec movl.s %esp,%ebp - - This matches the hookable function prologue in Win32 API functions in Microsoft Windows - XP Service Pack 2 and newer. Wine uses this to enable Windows apps to hook the Win32 API - functions provided by Wine */ - insn = emit_insn (gen_vswapmov (gen_rtx_REG (SImode, DI_REG), gen_rtx_REG (SImode, DI_REG))); + 8b ff movl.s %edi,%edi + 55 push %ebp + 8b ec movl.s %esp,%ebp + + This matches the hookable function prologue in Win32 API + functions in Microsoft Windows XP Service Pack 2 and newer. + Wine uses this to enable Windows apps to hook the Win32 API + functions provided by Wine. */ + insn = emit_insn (gen_vswapmov (gen_rtx_REG (SImode, DI_REG), + gen_rtx_REG (SImode, DI_REG))); push = emit_insn (gen_push (hard_frame_pointer_rtx)); - mov = emit_insn (gen_vswapmov (hard_frame_pointer_rtx, stack_pointer_rtx)); + mov = emit_insn (gen_vswapmov (hard_frame_pointer_rtx, + stack_pointer_rtx)); - if (frame_pointer_needed && !(crtl->drap_reg && crtl->stack_realign_needed)) - { - /* The push %ebp and movl.s %esp, %ebp already set up the frame pointer. No need to do - this again. */ - gen_frame_pointer = 0; - RTX_FRAME_RELATED_P (push) = 1; - RTX_FRAME_RELATED_P (mov) = 1; - if (ix86_cfa_state->reg == stack_pointer_rtx) - { - ix86_cfa_state->reg = hard_frame_pointer_rtx; - } - } + if (frame_pointer_needed && !(crtl->drap_reg + && crtl->stack_realign_needed)) + { + /* The push %ebp and movl.s %esp, %ebp already set up + the frame pointer. No need to do this again. */ + gen_frame_pointer = 0; + RTX_FRAME_RELATED_P (push) = 1; + RTX_FRAME_RELATED_P (mov) = 1; + if (ix86_cfa_state->reg == stack_pointer_rtx) + ix86_cfa_state->reg = hard_frame_pointer_rtx; + } else - { - /* If the frame pointer is not needed, pop %ebp again. This could be optimized for cases where - ebp needs to be backed up for some other reason. - - If stack realignment is needed, pop the base pointer again, align the stack, and later - regenerate the frame pointer setup. The frame pointer generated by the hook prologue - is not aligned, so it can't be used */ - insn = emit_insn ((*ix86_gen_pop1) (hard_frame_pointer_rtx)); - } + /* If the frame pointer is not needed, pop %ebp again. This + could be optimized for cases where ebp needs to be backed up + for some other reason. If stack realignment is needed, pop + the base pointer again, align the stack, and later regenerate + the frame pointer setup. The frame pointer generated by the + hook prologue is not aligned, so it can't be used. */ + insn = emit_insn ((*ix86_gen_pop1) (hard_frame_pointer_rtx)); } /* The first insn of a function that accepts its static chain on the @@ -9022,7 +9022,8 @@ ix86_expand_epilogue (int style) 0, red_offset, style == 2); pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx, - GEN_INT (frame.nsseregs * 16 + frame.padding0), + GEN_INT (frame.nsseregs * 16 + + frame.padding0), style, false); } else if (frame.to_allocate || frame.padding0 || frame.nsseregs) @@ -26530,8 +26531,6 @@ ix86_handle_struct_attribute (tree *node, tree name, return NULL_TREE; } -#include <signal.h> - static tree ix86_handle_fndecl_attribute (tree *node, tree name, tree args ATTRIBUTE_UNUSED, |