[PATCH] D127623: [Debug] [Coroutine] Adjust the scope and name for coroutine frame

Chuanqi Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 14 01:23:29 PDT 2022


ChuanqiXu added a comment.

In D127623#3580751 <https://reviews.llvm.org/D127623#3580751>, @ChuanqiXu wrote:

> In D127623#3579786 <https://reviews.llvm.org/D127623#3579786>, @dblaikie wrote:
>
>> I believe there's particular syntax that's supported by demanglers for suffixes - (specifically, at least for itanium, using "." to separate the suffix from the symbol name will support demanglers doing good things with the name when demangling) - could you check whether that applies here, if we have any tools/utility functions that handle this sort of suffix additions in a portable/tool-compatible way, etc, and do that?
>
> For c++filt, the result for `_ZL9coro_taski.coro_frame_ty` is 'coro_task(int) [clone .coro_frame_ty]' and for llvm-cxxfilt, the corresponding result is `coro_task(int) (.coro_frame_ty)`. I feel things are better now.

Oh, this one might be problematic. Now the debugger complains for the following command:

    (gdb) # 0x418eb0 is the address of a coroutine frame
    (gdb )p (_ZL9coro_taski.coro_frame_ty)*0x418eb0
  Attempt to extract a component of a value that is not a structure.

It looks like the debugger treat `_ZL9coro_taski.coro_frame_ty` as a function name to me.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127623/new/

https://reviews.llvm.org/D127623



More information about the llvm-commits mailing list