These changes are the raw update to qemu-2.6.
[kvmfornfv.git] / qemu / roms / SLOF / slof / paflof.c
index 624955f..2fc25c8 100644 (file)
@@ -19,6 +19,7 @@
 #undef unix
 
 #include "paflof.h"
+#include <stdio.h>
 #include <string.h>
 #include <stdint.h>
 #include <ctype.h>
@@ -43,6 +44,9 @@ unsigned char hash_table[HASHSIZE*CELLSIZE];
 
 #include ISTR(TARG,c)
 
+static int did_stackwarning;
+extern char the_system_stack[];
+
 // the actual engine
 long engine(int mode, long param_1, long param_2)
 {
@@ -84,6 +88,11 @@ long engine(int mode, long param_1, long param_2)
                c_return[1].a = &dummy;
        }
 
+       if ((char *)&ip < the_system_stack && !did_stackwarning) {
+               puts("ERROR: stack overflow in engine()!");
+               did_stackwarning = 1;
+       }
+
        if (mode & ENGINE_MODE_PARAM_2) {
                (++dp)->n = param_2;
        }