On 03/05/2018 06:03 AM, Stefan Hajnoczi wrote:
Please include the following gdb output: (gdb) disas swapcontext (gdb) i r That way it's possible to see which instruction faulted and which registers were being accessed.
here is the disas out for swapcontext, this is on a coredump with debugging symbols enabled for qemu. So the addresses from the previous dump is a little different.
(gdb) disas swapcontext Dump of assembler code for function swapcontext: 0x000003ff90751fb8 <+0>: lgr %r1,%r2 0x000003ff90751fbc <+4>: lgr %r0,%r3 0x000003ff90751fc0 <+8>: stfpc 248(%r1) 0x000003ff90751fc4 <+12>: std %f0,256(%r1) 0x000003ff90751fc8 <+16>: std %f1,264(%r1) 0x000003ff90751fcc <+20>: std %f2,272(%r1) 0x000003ff90751fd0 <+24>: std %f3,280(%r1) 0x000003ff90751fd4 <+28>: std %f4,288(%r1) 0x000003ff90751fd8 <+32>: std %f5,296(%r1) 0x000003ff90751fdc <+36>: std %f6,304(%r1) 0x000003ff90751fe0 <+40>: std %f7,312(%r1) 0x000003ff90751fe4 <+44>: std %f8,320(%r1) 0x000003ff90751fe8 <+48>: std %f9,328(%r1) 0x000003ff90751fec <+52>: std %f10,336(%r1) 0x000003ff90751ff0 <+56>: std %f11,344(%r1) 0x000003ff90751ff4 <+60>: std %f12,352(%r1) 0x000003ff90751ff8 <+64>: std %f13,360(%r1) 0x000003ff90751ffc <+68>: std %f14,368(%r1) 0x000003ff90752000 <+72>: std %f15,376(%r1) 0x000003ff90752004 <+76>: slgr %r2,%r2 0x000003ff90752008 <+80>: stam %a0,%a15,184(%r1) 0x000003ff9075200c <+84>: stmg %r0,%r15,56(%r1) 0x000003ff90752012 <+90>: la %r2,2 0x000003ff90752016 <+94>: lgr %r5,%r0 0x000003ff9075201a <+98>: la %r3,384(%r5) 0x000003ff9075201e <+102>: la %r4,384(%r1) 0x000003ff90752022 <+106>: lghi %r5,8 0x000003ff90752026 <+110>: svc 175 0x000003ff90752028 <+112>: lgr %r5,%r0 => 0x000003ff9075202c <+116>: lfpc 248(%r5) 0x000003ff90752030 <+120>: ld %f0,256(%r5) 0x000003ff90752034 <+124>: ld %f1,264(%r5) 0x000003ff90752038 <+128>: ld %f2,272(%r5) 0x000003ff9075203c <+132>: ld %f3,280(%r5) 0x000003ff90752040 <+136>: ld %f4,288(%r5) 0x000003ff90752044 <+140>: ld %f5,296(%r5) 0x000003ff90752048 <+144>: ld %f6,304(%r5) 0x000003ff9075204c <+148>: ld %f7,312(%r5) 0x000003ff90752050 <+152>: ld %f8,320(%r5) 0x000003ff90752054 <+156>: ld %f9,328(%r5) 0x000003ff90752058 <+160>: ld %f10,336(%r5) 0x000003ff9075205c <+164>: ld %f11,344(%r5) 0x000003ff90752060 <+168>: ld %f12,352(%r5) 0x000003ff90752064 <+172>: ld %f13,360(%r5) 0x000003ff90752068 <+176>: ld %f14,368(%r5) 0x000003ff9075206c <+180>: ld %f15,376(%r5) 0x000003ff90752070 <+184>: lam %a2,%a15,192(%r5) 0x000003ff90752074 <+188>: lmg %r0,%r15,56(%r5) 0x000003ff9075207a <+194>: br %r14 End of assembler dump. (gdb) i r r0 0x0 0 r1 0x3ff8fe7de40 4396165881408 r2 0x0 0 r3 0x3ff8fe7e1c0 4396165882304 r4 0x3ff8fe7dfc0 4396165881792 r5 0x0 0 r6 0xffffffff88004880 18446744071696304256 r7 0x3ff880009e0 4396033247712 r8 0x27ff89000 10736930816 r9 0x3ff88001460 4396033250400 r10 0x1000 4096 r11 0x1261be0 19274720 r12 0x3ff88001e00 4396033252864 r13 0x14d0bc0 21826496 r14 0x1312ac8 19999432 r15 0x3ff8fe7dc80 4396165880960 pc 0x3ff9075202c 0x3ff9075202c <swapcontext+116> cc 0x2 2