This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Protect ARG_POINTER_CFA_OFFSET from recent changes
- To: gcc-patches at gcc dot gnu dot org
- Subject: Protect ARG_POINTER_CFA_OFFSET from recent changes
- From: Geoff Keating <geoffk at cygnus dot com>
- Date: Thu, 23 Mar 2000 17:03:05 -0800
This restores ARG_POINTER_CFA_OFFSET on powerpc to what it used
to be before Jason's recent change of default. It also defines
DWARF_FRAME_REGISTERS for future protection.
Probably m68k and ns32k also need to be changed like this.
This takes us back to stability for ppc-eabi.
--
- Geoffrey Keating <geoffk@cygnus.com>
===File ~/patches/cygnus/rs6000-cfaoffset.patch=============
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/egcs/gcc/ChangeLog,v
retrieving revision 1.6019
diff -p -u -u -p -r1.6019 ChangeLog
--- ChangeLog 2000/03/23 22:15:46 1.6019
+++ ChangeLog 2000/03/24 01:00:25
@@ -1,3 +1,10 @@
+2000-03-23 Geoff Keating <geoffk@cygnus.com>
+
+ * config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition,
+ try to protect against middle-end changes that break binary
+ compatibility.
+ (DWARF_FRAME_REGISTERS): New definition, likewise for backend.
+
2000-03-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (load_immed_address): Add DP reg clobber.
Index: config/rs6000/rs6000.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/rs6000.h,v
retrieving revision 1.70
diff -p -u -u -p -r1.70 rs6000.h
--- rs6000.h 2000/03/23 12:14:06 1.70
+++ rs6000.h 2000/03/24 01:00:25
@@ -2672,6 +2672,11 @@ do { \
#define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM)
#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (LINK_REGISTER_REGNUM)
+/* These values are set like this for backwards compatibility,
+ and can't be changed no matter how wrong they are :-(. */
+#define DWARF_FRAME_REGISTERS 77
+#define ARG_POINTER_CFA_OFFSET(FNDECL) 0
+
/* Define results of standard character escape sequences. */
#define TARGET_BELL 007
#define TARGET_BS 010
============================================================