https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120440

--- Comment #8 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #3)
> checking in gdb whether this is a misaligned vector access and/or whether we
> are in a early-break vectorized loop would be useful

(gdb) frame
#1  0x00005555555c03d9 in <__gnat_free> (ptr=<optimized out>) at
s-memory.adb:120
120              c_free (Ptr);
(gdb) disas
Dump of assembler code for function __gnat_free:
   0x00005555555c03d0 <+0>:     sub    rsp,0x8
   0x00005555555c03d4 <+4>:     call   0x555555554740 <free@plt>
=> 0x00005555555c03d9 <+9>:     add    rsp,0x8
   0x00005555555c03dd <+13>:    ret
End of assembler dump.

(gdb) frame 2
#2  0x000055555558a820 in
ada.exceptions.exception_propagation.gnat_gcc_exception_cleanup
(reason=<optimized out>, excep=<optimized out>) at ../rts/a-exexpr.adb:354
354           Free (Copy);
(gdb) disas
Dump of assembler code for function
ada__exceptions__exception_propagation__gnat_gcc_exception_cleanupXn:
   0x000055555558a80e <+0>:     test   rsi,rsi
   0x000055555558a811 <+3>:     je     0x55555558a825
<ada__exceptions__exception_propagation__gnat_gcc_exception_cleanupXn+23>
   0x000055555558a813 <+5>:     sub    rsp,0x8
   0x000055555558a817 <+9>:     mov    rdi,QWORD PTR [rsi-0x8]
   0x000055555558a81b <+13>:    call   0x5555555c03d0 <__gnat_free>
=> 0x000055555558a820 <+18>:    add    rsp,0x8
   0x000055555558a824 <+22>:    ret
   0x000055555558a825 <+23>:    ret
End of assembler dump.

#3  0x000055555558a914 in <__gnat_end_handler_v1>
(gcc_exception=gcc_exception@entry=0x55555572a660,
    saved_cleanup=saved_cleanup@entry=0x55555558a80e
<ada.exceptions.exception_propagation.gnat_gcc_exception_cleanup>,
propagating_exception=propagating_exception@entry=0x0)
    at ../rts/a-exexpr.adb:519
519              Unwind_DeleteException (GCC_Exception);
(gdb) disas
Dump of assembler code for function __gnat_end_handler_v1:
   0x000055555558a8e0 <+0>:     mov    QWORD PTR [rdi+0x8],rsi
   0x000055555558a8e4 <+4>:     cmp    rdi,rdx
   0x000055555558a8e7 <+7>:     setne  dl
   0x000055555558a8ea <+10>:    lea    rax,[rip+0x2f]        # 0x55555558a920
<__gnat_claimed_cleanup>
   0x000055555558a8f1 <+17>:    cmp    rsi,rax
   0x000055555558a8f4 <+20>:    setne  al
   0x000055555558a8f7 <+23>:    test   dl,al
   0x000055555558a8f9 <+25>:    jne    0x55555558a8fc
<__gnat_end_handler_v1+28>
   0x000055555558a8fb <+27>:    ret
   0x000055555558a8fc <+28>:    push   rbx
   0x000055555558a8fd <+29>:    mov    rbx,rdi
   0x000055555558a900 <+32>:    call   QWORD PTR [rip+0xbe88a]        #
0x555555649190 <system__soft_links__get_current_excep>
   0x000055555558a906 <+38>:    cmp    rbx,QWORD PTR [rax+0x8]
   0x000055555558a90a <+42>:    je     0x55555558a916
<__gnat_end_handler_v1+54>
   0x000055555558a90c <+44>:    mov    rdi,rbx
   0x000055555558a90f <+47>:    call   0x555555602c40 <_Unwind_DeleteException>
=> 0x000055555558a914 <+52>:    pop    rbx
   0x000055555558a915 <+53>:    ret
   0x000055555558a916 <+54>:    mov    QWORD PTR [rax+0x8],0x0
   0x000055555558a91e <+62>:    jmp    0x55555558a90c
<__gnat_end_handler_v1+44>
End of assembler dump.

Reply via email to