]> git.pld-linux.org Git - packages/crossmingw64-gcc.git/blame - crossmingw64-gcc-no_red_zone.patch
- disable red zone for w64 abi.
[packages/crossmingw64-gcc.git] / crossmingw64-gcc-no_red_zone.patch
CommitLineData
776048ef
PS
1--- trunk/gcc/config/i386/i386.c (wersja 136692)
2+++ trunk/gcc/config/i386/i386.c (wersja 136693)
3@@ -6388,7 +6388,7 @@
4 || (TARGET_64BIT && frame->to_allocate >= (HOST_WIDE_INT) 0x80000000))
5 frame->save_regs_using_mov = false;
6
7- if (TARGET_RED_ZONE && current_function_sp_is_unchanging
8+ if (!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE && current_function_sp_is_unchanging
9 && current_function_is_leaf
10 && !ix86_current_function_calls_tls_descriptor)
11 {
12@@ -6631,7 +6631,7 @@
13 avoid doing this if I am going to have to probe the stack since
14 at least on x86_64 the stack probe can turn into a call that clobbers
15 a red zone location */
16- if (TARGET_RED_ZONE && frame.save_regs_using_mov
17+ if (!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE && frame.save_regs_using_mov
18 && (! TARGET_STACK_PROBE || allocate < CHECK_STACK_LIMIT))
19 ix86_emit_save_regs_using_mov (frame_pointer_needed ? hard_frame_pointer_rtx
20 : stack_pointer_rtx,
21@@ -6689,7 +6689,7 @@
22 }
23
24 if (frame.save_regs_using_mov
25- && !(TARGET_RED_ZONE
26+ && !(!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE
27 && (! TARGET_STACK_PROBE || allocate < CHECK_STACK_LIMIT)))
28 {
29 if (!frame_pointer_needed || !frame.to_allocate)
30@@ -21943,7 +21943,7 @@
31 rtx result;
32
33 gcc_assert (reload_completed);
34- if (TARGET_RED_ZONE)
35+ if (!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE)
36 {
37 result = gen_rtx_MEM (mode,
38 gen_rtx_PLUS (Pmode,
39@@ -21951,7 +21951,7 @@
40 GEN_INT (-RED_ZONE_SIZE)));
41 emit_move_insn (result, operand);
42 }
43- else if (!TARGET_RED_ZONE && TARGET_64BIT)
44+ else if ((TARGET_64BIT_MS_ABI || !TARGET_RED_ZONE) && TARGET_64BIT)
45 {
46 switch (mode)
47 {
48@@ -22018,7 +22018,7 @@
49 void
50 ix86_free_from_memory (enum machine_mode mode)
51 {
52- if (!TARGET_RED_ZONE)
53+ if (!TARGET_RED_ZONE || TARGET_64BIT_MS_ABI)
54 {
55 int size;
56
This page took 0.1432 seconds and 4 git commands to generate.