https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85173

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I wonder if we shouldn't do:
--- gcc/explow.c        2018-01-03 21:21:39.012907765 +0100
+++ gcc/explow.c        2018-04-04 08:58:04.716738887 +0200
@@ -1625,6 +1625,7 @@ set_stack_check_libfunc (const char *lib
 void
 emit_stack_probe (rtx address)
 {
+  address = memory_address (word_mode, address);
   if (targetm.have_probe_stack_address ())
     emit_insn (targetm.gen_probe_stack_address (address));
   else

because it is tedious to do that in every emit_stack_probe caller.  Wonder why
all the other target happen to work even without something like that (ok, some
targets allow signed 32-bit offsets and maybe we never generate larger
offsets).

Reply via email to