changeset cc2f9e13694d in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=cc2f9e13694d
description:
        syscall_emul: fix bug in aux vector initialization

        Writing 16 bytes from an 8-byte source value is a bad idea.
        This doesn't appear to have broken anything, but showed up
        as spurious differences when tracediffing runs.

diffstat:

 src/arch/x86/process.cc |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (16 lines):

diff -r 67cc559d513a -r cc2f9e13694d src/arch/x86/process.cc
--- a/src/arch/x86/process.cc   Sat Feb 06 17:21:20 2016 -0800
+++ b/src/arch/x86/process.cc   Sat Feb 06 17:21:20 2016 -0800
@@ -983,8 +983,10 @@
     }
     //Write out the terminating zeroed auxilliary vector
     const uint64_t zero = 0;
-    initVirtMem.writeBlob(auxv_array_base + 2 * intSize * auxv.size(),
-            (uint8_t*)&zero, 2 * intSize);
+    initVirtMem.writeBlob(auxv_array_base + auxv.size() * 2 * intSize,
+                          (uint8_t*)&zero, intSize);
+    initVirtMem.writeBlob(auxv_array_base + (auxv.size() * 2 + 1) * intSize,
+                          (uint8_t*)&zero, intSize);
 
     initVirtMem.writeString(aux_data_base, platform.c_str());
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to