From: Mikhail Ilyin
At present there are two copies of TPIDRURO register for secure and unsecure
access. TLS is set via a system call __ARM_NR_set_tls and its handler
(cpu_set_tls) always assigns a provided value to unsecure register
tpidrro_el[0]/tpidruro_ns. But during execution for cortex-a15
Fix memory maps textualizing function. The output was not correct because of
wrong base address calculation. The initial address has to be shifted also
for TARGET_PAGE_BITS.
Signed-off-by: Mikhail Ilyin
---
translate-all.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a
Build /proc/self/maps doing a match against guest memory translation table.
Output only that map records which are valid for guest memory layout.
Signed-off-by: Mikhail Ilyin
---
The previous patch won't compile with 32 bits compiler because of wrong
casting type, replace uint64_t
Build /proc/self/maps doing a match against guest memory translation table.
Output only that map records which are valid for guest memory layout.
Signed-off-by: Mikhail Ilyin
---
include/exec/cpu-all.h | 2 ++
linux-user/syscall.c | 25 ++---
2 files changed, 12
Public bug reported:
Qemu internal memory areas are not suppressed in the output and are visible to
a guest via /proc/self/maps.
$ echo "int main() { return 0; }" > /tmp/test.c
$ gcc -m32 -fsanitize=address -fno-common -Wall -g -fPIC -o /tmp/test
/tmp/test.c
$ qemu-i386-static -R 0 /tmp/test
Public bug reported:
Reading /proc/self/maps a user doesn't get a stack record. Not all
programs relies on the maps file but some do.
The bug found by running 32-bits binaries with address sanitizer (Asan)
instrumentations under 64-bit qemu.
$ echo "int main() { return 0; }" > /tmp/test.c
$ gcc