On the newly added s390 target, it's possible for a single instruction
to write practically unbounded amount of memory (eg. MVCLE).  This caused
a stack overflow when alloca was used.
gdb/ChangeLog:
	* record-full.c (record_full_exec_insn): Use xmalloc for temporary
	memory storage.
+2015-11-04  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * record-full.c (record_full_exec_insn): Use xmalloc for temporary
+       memory storage.
+
 2015-11-04  Markus Metzger  <markus.t.metzger@intel.com>
 
        * record.c (get_insn_history_modifiers): Set DISASSEMBLY_SOURCE
 
        /* Nothing to do if the entry is flagged not_accessible.  */
         if (!entry->u.mem.mem_entry_not_accessible)
           {
-            gdb_byte *mem = (gdb_byte *) alloca (entry->u.mem.len);
+            gdb_byte *mem = (gdb_byte *) xmalloc (entry->u.mem.len);
+            struct cleanup *cleanup = make_cleanup (xfree, mem);
 
             if (record_debug > 1)
               fprintf_unfiltered (gdb_stdlog,
                      record_full_stop_reason = TARGET_STOPPED_BY_WATCHPOINT;
                  }
               }
+
+           do_cleanups (cleanup);
           }
       }
       break;