summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/796480
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/launchpad-without-comments/796480')
-rw-r--r--results/scraper/launchpad-without-comments/79648045
1 files changed, 45 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/796480 b/results/scraper/launchpad-without-comments/796480
new file mode 100644
index 00000000..726d539b
--- /dev/null
+++ b/results/scraper/launchpad-without-comments/796480
@@ -0,0 +1,45 @@
+Addresses with 4GB differences are consider as one single address in QEMU
+
+THIS IS THE ISSUE OF USER MODE EMULATION
+Information about guest and host
+**********************************
+guest: 64 bit x86 user mode binary
+host: 32 bit Linux OS
+uname -a :Linux KICS-HPCNL-32blue 2.6.33.3-85.fc13.i686.PAE #1 SMP
+architecture: intel64
+Bug Description
+****************
+for memory reference instructions, suppose I have two addresses in guest address space(64 bit)
+0x220000000
+0x320000000
+as lower 32 bit part of both addresses are same, when particular instructions are translated into host code(32 bit)
+in both above cases the value is loaded from same memory and we get same value. where actual behaviour was to get two different values.
+here is the program which i used to test:
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#define SIZE 4294967298 /* 4Gib*/
+
+int main() {
+   char *array;
+   unsigned int i;
+
+   array = malloc(sizeof(char) * SIZE);
+   if(array == NULL)    {
+      fprintf(stderr, "Could not allocate that much memory");
+      return 1;    }
+    array[0] = 'a';
+   array[SIZE-2] = 'z';
+   printf("array[SIZE-2] = %c array[0] = %c\n",array[SIZE-2], array[0]);
+  return 0;
+}
+I have 8 gib RAM
+I compiled this program on 64 bit linux  and run this on 32 bit linux with qemu
+QEMU command line and output
+**********************************
+$x86_64-linux-user/qemu-x86_64 ~/ar_x86 
+output: array[SIZE-1] = z,array[0] = z 
+Release information
+********************
+x86_64 binary is tested with latest release : qemu-0.14.1
+and with current development tree as well( live code of QEMU using git)
\ No newline at end of file