Redo the ProPolice patches, there were partly broken.
[dragonfly.git] / gnu / usr.bin / cc34 / cc_prep / patches / loop.c.patch
1 $DragonFly: src/gnu/usr.bin/cc34/cc_prep/patches/loop.c.patch,v 1.2 2004/06/20 00:10:52 joerg Exp $
2
3 diff -u ../gcc.orig/loop.c loop.c
4 --- ../gcc.orig/loop.c  2004-06-19 22:27:13.000000000 +0200
5 +++ loop.c      2004-06-20 01:16:04.000000000 +0200
6 @@ -6513,6 +6513,14 @@
7    if (GET_CODE (*mult_val) == USE)
8      *mult_val = XEXP (*mult_val, 0);
9  
10 +#ifndef FRAME_GROWS_DOWNWARD
11 +  if (flag_propolice_protection
12 +      && GET_CODE (*add_val) == PLUS
13 +      && (XEXP (*add_val, 0) == frame_pointer_rtx
14 +         || XEXP (*add_val, 1) == frame_pointer_rtx))
15 +    return 0;
16 +#endif
17 +
18    if (is_addr)
19      *pbenefit += address_cost (orig_x, addr_mode) - reg_address_cost;
20    else