summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/none/1909392
blob: b6499aa257f2cd7cb8915048d5bfa6208bd374ab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
PID: 0.696
architecture: 0.688
assembly: 0.684
arm: 0.672
risc-v: 0.650
user-level: 0.630
TCG: 0.603
peripherals: 0.602
mistranslation: 0.591
x86: 0.586
device: 0.582
VMM: 0.577
ppc: 0.575
permissions: 0.571
semantic: 0.553
vnc: 0.551
performance: 0.535
debug: 0.530
register: 0.520
kernel: 0.495
files: 0.486
socket: 0.479
boot: 0.475
hypervisor: 0.458
i386: 0.445
graphic: 0.422
KVM: 0.418
virtual: 0.417
network: 0.390

qemu-arm crashes (SIGSEGV) when executing push instruction

Dear all,
I am afraid I found a problem, it seems like qemu-arm crashes when executing assembly push instruction.
I use qemu version 5.2.0, but it checked an older version (4.2.1) and the problem was also present. I start qemu using "qemu-arm -cpu cortex-m4 -singlestep -g 1234 <path to elf file>"
Callstack before crash (host)
#0  0x000055555575961f in stl_he_p (ptr=0x2002fffc, v=0) at /home/faust1002/Programming/qemu/qemu-5.2.0/include/qemu/bswap.h:353
#1  0x0000555555759716 in stl_le_p (ptr=0x2002fffc, v=0) at /home/faust1002/Programming/qemu/qemu-5.2.0/include/qemu/bswap.h:395
#2  0x000055555575d3c3 in tcg_qemu_tb_exec (env=0x555555d28050, tb_ptr=0x7fffe800010a "\r\b") at ../tcg/tci.c:1221
#3  0x00005555556bd982 in cpu_tb_exec (cpu=0x555555d1fd70, itb=0x7fffe8000000) at ../accel/tcg/cpu-exec.c:178
#4  0x00005555556be57e in cpu_loop_exec_tb (cpu=0x555555d1fd70, tb=0x7fffe8000000, last_tb=0x7fffffffd8a8, tb_exit=0x7fffffffd8a0) at ../accel/tcg/cpu-exec.c:658
#5  0x00005555556be7ea in cpu_exec (cpu=0x555555d1fd70) at ../accel/tcg/cpu-exec.c:771
#6  0x000055555560af1d in cpu_loop (env=0x555555d28050) at ../linux-user/arm/cpu_loop.c:237
#7  0x00005555557415a7 in main (argc=7, argv=0x7fffffffe0f8, envp=0x7fffffffe138) at ../linux-user/main.c:861
Callstack before crash (target)
Program received signal SIGSEGV, Segmentation fault.
Reset_Handler () at startup.s:48
48        push {r14}
Please find the elf file I use attached.
Kind regards



The program is buggy.

The first instruction sets the stack to 0x20020000,
but that address is not mapped.

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x010000 0x08000000 0x08000000 0x0025c 0x0025c R E 0x10000
  LOAD           0x020000 0x20000000 0x0800025c 0x00000 0x00600 RW  0x10000

The data segment only goes from 0x20000000 - 0x20000600.