s390.h (EH_RETURN_HANDLER_RTX): Compute offset symbolically.
authorUlrich Weigand <uweigand@de.ibm.com>
Wed, 30 Jul 2003 17:38:14 +0000 (17:38 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Wed, 30 Jul 2003 17:38:14 +0000 (17:38 +0000)
* config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
symbolically.

From-SVN: r69965

gcc/ChangeLog
gcc/config/s390/s390.h

index 3f64081c405935d3641027f512aceb6a815a05d8..1eecb790c43a9a1f49f6086dab5596b9d9642871 100644 (file)
@@ -1,3 +1,8 @@
+2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
+       symbolically.
+
 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
        * gcse.c (insert_store): Ignore fake edges.
index 48b7c5632ec38b7a8b4ff7a915e462236e57e65d..73b2fc7edbedd4e2d4d8fb502589642732d29b38 100644 (file)
@@ -600,7 +600,7 @@ extern int current_function_outgoing_args_size;
 #define EH_RETURN_DATA_REGNO(N) ((N) < 4 ? (N) + 6 : INVALID_REGNUM)
 #define EH_RETURN_HANDLER_RTX \
   gen_rtx_MEM (Pmode, plus_constant (arg_pointer_rtx, \
-                                     TARGET_64BIT? -48 : -40))
+               -STACK_POINTER_OFFSET + UNITS_PER_WORD*RETURN_REGNUM))
 
 /* Select a format to encode pointers in exception handling data.  */
 #define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL)                         \