summaryrefslogtreecommitdiff
path: root/lang/egcs/files/patch-ah
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2000-11-30 11:39:26 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2000-11-30 11:39:26 +0000
commitb3a3e327ec35fa4a4f68fdee430c1756ddfe5ba0 (patch)
treee7f6814cd55c1325b119d187488949134d445431 /lang/egcs/files/patch-ah
parentUpdated editors/xemacs-wp-packages 1.1 -> 1.2. Following xemacs' packages have (diff)
This should take this port back to the last version of it for EGCS-1.1.2.
The gcc-2.95.2 bits have been repo copied to ports/lang/gcc295. GCC 2.95.2 does not work for some people's code. GCC 3.0 will be even worse. So it looks like we'll have to keep a port for each version of GCC we've ever used.
Notes
Notes: svn path=/head/; revision=35534
Diffstat (limited to 'lang/egcs/files/patch-ah')
-rw-r--r--lang/egcs/files/patch-ah67
1 files changed, 67 insertions, 0 deletions
diff --git a/lang/egcs/files/patch-ah b/lang/egcs/files/patch-ah
new file mode 100644
index 000000000000..fad69668db7b
--- /dev/null
+++ b/lang/egcs/files/patch-ah
@@ -0,0 +1,67 @@
+--- gcc/config/i386/i386.c.orig Sat Sep 5 22:52:05 1998
++++ gcc/config/i386/i386.c Wed Oct 7 17:06:48 1998
+@@ -51,6 +51,11 @@
+ #define CHECK_STACK_LIMIT -1
+ #endif
+
++#define PIC_REG_USED \
++ (flag_pic && (current_function_uses_pic_offset_table \
++ || current_function_uses_const_pool \
++ || profile_flag || profile_block_flag))
++
+ /* Type of an operand for ix86_{binary,unary}_operator_ok */
+ enum reg_mem
+ {
+@@ -1938,13 +1943,11 @@
+ char *name ATTRIBUTE_UNUSED;
+ {
+ rtx xops[2];
+- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
+- || current_function_uses_const_pool);
+ xops[0] = pic_offset_table_rtx;
+ xops[1] = stack_pointer_rtx;
+
+ /* Deep branch prediction favors having a return for every call. */
+- if (pic_reg_used && TARGET_DEEP_BRANCH_PREDICTION)
++ if (PIC_REG_USED && TARGET_DEEP_BRANCH_PREDICTION)
+ {
+ tree prologue_node;
+
+@@ -2074,8 +2077,7 @@
+ register int regno;
+ int limit;
+ rtx xops[4];
+- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
+- || current_function_uses_const_pool);
++ int pic_reg_used = PIC_REG_USED;
+ long tsize = get_frame_size ();
+ rtx insn;
+ int cfa_offset = INCOMING_FRAME_SP_OFFSET, cfa_store_offset = cfa_offset;
+@@ -2245,8 +2247,6 @@
+ int nregs = 0;
+ int reglimit = (frame_pointer_needed
+ ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM);
+- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
+- || current_function_uses_const_pool);
+
+ #ifdef NON_SAVING_SETJMP
+ if (NON_SAVING_SETJMP && current_function_calls_setjmp)
+@@ -2258,7 +2258,7 @@
+
+ for (regno = reglimit - 1; regno >= 0; regno--)
+ if ((regs_ever_live[regno] && ! call_used_regs[regno])
+- || (regno == PIC_OFFSET_TABLE_REGNUM && pic_reg_used))
++ || (regno == PIC_OFFSET_TABLE_REGNUM && PIC_REG_USED))
+ nregs++;
+
+ return nregs == 0 || ! frame_pointer_needed;
+@@ -2292,8 +2292,7 @@
+ register int nregs, limit;
+ int offset;
+ rtx xops[3];
+- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
+- || current_function_uses_const_pool);
++ int pic_reg_used = PIC_REG_USED;
+ long tsize = get_frame_size ();
+
+ /* Compute the number of registers to pop */