Re: Incorrect unwind when throwing exceptions - possible cause?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



One additional detail: when I build in debug (-O0), it doesn't crash.
In that case, gcc decides to use an unwind table based on offsets
against the cfa instead of against rbp, which works fine:

     >_ULx86_64_fetch_frame: fetch frame ip=0x55555589afb7
cfa=0x7fffffff94d0 format=0
               >run_cfi_program: CFA_def_cfa r7+0x8
               >run_cfi_program: CFA_offset r16 at cfa+0xfffffffffffffff8
               >run_cfi_program: CFA_advance_loc to 0x5555558855b3
               >run_cfi_program: CFA_def_cfa_offset 0x10
               >run_cfi_program: CFA_offset r6 at cfa+0xfffffffffffffff0
               >run_cfi_program: CFA_advance_loc to 0x5555558855b6
               >run_cfi_program: CFA_def_cfa_register r6
               >run_cfi_program: CFA_advance_loc to 0x5555558855e6
               >run_cfi_program: CFA_offset r13 at cfa+0xffffffffffffffe8
               >run_cfi_program: CFA_offset r12 at cfa+0xffffffffffffffe0
               >run_cfi_program: CFA_offset r3 at cfa+0xffffffffffffffd8




On Thu, Feb 3, 2022 at 2:36 AM Juraj Oršulić <juraj.orsulic@xxxxxx> wrote:
>
> Hi Sam, thanks for replying. The example wasn't meant to be compile
> (sure, I missed the class closing brace and omitted storing argc).
> That's not the point.
> To reproduce it I would need to include a bunch of other code from the
> codebase and put it inside ::process().
> The point is that the mere presence of this code causes it to crash
> if I throw right at the beginning -- I don't even execute any of that code.
> I'm trying to figure out why the DWARF unwinding code becomes incorrect,
> as I described in detail.
>
>
>
> Sam Varshavchik wrote:
>
> > This was slimmed down too much. I don't see how this would compile.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux