summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1856837
blob: 2315f3be4dfcc598e5d3327946dd26b24182a7da (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
qemu 4.2.0 arm  segmentation fault with gcc 9.2

As discussed with f4bug yesterday on IRC here comes the bug description.

I'm building/configured qemu-4.2.0 on an x86_64 (gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516) with target-list "arm-softmmu,arm-linux-user" and debug enabled. I use the arm-linux-user variant, "qemu-arm".

Then i'm trying to cross-compile (arm gcc) an old version of googles v8 (as i need this version of the lib for binary compatibility) which uses qemu during build.

It worked with gcc 5.4.0 but not with 9.2.0. I also tried with 6.5.0, 7.4.0 and 8.3.0 but those are also causing the same segmentation fault.

The executed command wich breaks qemu is:

 qemu-arm /tmp/build/out/arm.release/mksnapshot.arm --log-snapshot-positions --logfile /tmp/build/out/arm.release/obj.host/v8_snapshot/geni/snapshot.log --random-seed 314159265 /tmp/build/out/arm.release/obj.host/v8_snap

The printed error message is:

ARMv7=1 VFP3=1 VFP32DREGS=1 NEON=0 SUDIV=0 UNALIGNED_ACCESSES=1 MOVW_MOVT_IMMEDIATE_LOADS=0 USE_EABI_HARDFLOAT=1
qemu: uncaught target signal 11 (Segmentation fault) - core dumped

Calling qemu with gdb gives the following information:

 Thread 1 "qemu-arm" received signal SIGSEGV, Segmentation fault.
 0x0000555555d63d11 in static_code_gen_buffer ()

and

 (gdb) bt
 #0  0x0000555555d63d11 in static_code_gen_buffer ()
 #1  0x0000555555628d58 in cpu_tb_exec (itb=<optimized out>, cpu=0x555557c33930) at 
 /tmp/build/qemu/accel/tcg/cpu-exec.c:172
 #2  cpu_loop_exec_tb (tb_exit=<synthetic pointer>, last_tb=<synthetic pointer>, tb=<optimized out>, 
 cpu=0x555557c33930) at /tmp/build/qemu/accel/tcg/cpu-exec.c:618
 #3  cpu_exec (cpu=cpu@entry=0x555557c2b660) at /tmp/build/qemu/accel/tcg/cpu-exec.c:731
 #4  0x0000555555661578 in cpu_loop (env=0x555557c33930) at /tmp/build/qemu/linux-user/arm/cpu_loop.c:219
#5  0x00005555555d6d76 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /tmp/build/qemu/linux-user/main.c:865

Calling qemu-arm with debug switch "-d in_asm,int,op_opt" shows the log in the attached file.

Thanks for any hints!
Fabian