[Bug target/92207] [10 Regression] pr36449.C fails on arm after r277179
clyon at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Oct 24 10:11:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92207
--- Comment #6 from Christophe Lyon <clyon at gcc dot gnu.org> ---
In particular, the execution continues after the last block dumped by qemu:
0x00018e40: e5974008 ldr r4, [r7, #8]
0x00018e44: e0898008 add r8, sb, r8
0x00018e48: e3888001 orr r8, r8, #1
0x00018e4c: e5848004 str r8, [r4, #4]
0x00018e50: eaffff14 b #0x18aa8
I set a breakpoint at 0x00018e40, then single-step until the crash:
=> 0x18e40 <_malloc_r+1732>: ldr r4, [r7, #8]
=> 0x18e44 <_malloc_r+1736>: add r8, r9, r8
=> 0x18e48 <_malloc_r+1740>: orr r8, r8, #1
=> 0x18e4c <_malloc_r+1744>: str r8, [r4, #4]
=> 0x18e50 <_malloc_r+1748>: b 0x18aa8 <_malloc_r+812>
=> 0x18aa8 <_malloc_r+812>: ldr r3, [r10, #44] ; 0x2c
=> 0x18aac <_malloc_r+816>: cmp r3, r1
=> 0x18ab0 <_malloc_r+820>: ldr r3, [r10, #48] ; 0x30
=> 0x18ab4 <_malloc_r+824>: strcc r1, [r10, #44] ; 0x2c
=> 0x18ab8 <_malloc_r+828>: cmp r3, r1
=> 0x18abc <_malloc_r+832>: strcc r1, [r10, #48] ; 0x30
=> 0x18ac0 <_malloc_r+836>: bic r8, r8, #3
=> 0x18ac4 <_malloc_r+840>: sub r3, r8, r5
=> 0x18ac8 <_malloc_r+844>: cmp r3, #15
=> 0x18acc <_malloc_r+848>: movgt r2, #0
=> 0x18ad0 <_malloc_r+852>: movle r2, #1
=> 0x18ad4 <_malloc_r+856>: cmp r5, r8
=> 0x18ad8 <_malloc_r+860>: orrhi r2, r2, #1
=> 0x18adc <_malloc_r+864>: cmp r2, #0
=> 0x18ae0 <_malloc_r+868>: beq 0x18ba4 <_malloc_r+1064>
=> 0x18ba4 <_malloc_r+1064>: add r2, r4, r5
=> 0x18ba8 <_malloc_r+1068>: orr r3, r3, #1
=> 0x18bac <_malloc_r+1072>: orr r5, r5, #1
=> 0x18bb0 <_malloc_r+1076>: str r5, [r4, #4]
=> 0x18bb4 <_malloc_r+1080>: mov r0, r6
=> 0x18bb8 <_malloc_r+1084>: str r2, [r7, #8]
=> 0x18bbc <_malloc_r+1088>: add r4, r4, #8
=> 0x18bc0 <_malloc_r+1092>: str r3, [r2, #4]
(gdb) p /x $r2
$1 = 0x804a568
(gdb) si
Program received signal SIGSEGV, Segmentation fault.
0x00018bc0 in _malloc_r (reent_ptr=0x49098 <impure_data>, bytes=<optimized
out>)
at
/tmp/7992549.tmpdir/aci-gcc-fsf/sources/newlib/newlib/libc/stdlib/mallocr.c:2592
2592 in
/tmp/7992549.tmpdir/aci-gcc-fsf/sources/newlib/newlib/libc/stdlib/mallocr.c
More information about the Gcc-bugs
mailing list