[Dwarf-Discuss] OpenMP back-traces

Andrew Cagney andrew.cagney at gmail.com
Tue Jan 6 07:54:31 PST 2009


Hi,

I've been looking at OpenMP and it appears to have a backtrace
challenge similar to that of nested functions - conceptually the
OpenMP threads result in a stack tree vis:

<inner>
    1          2
    1          2
     \          /
      \       /
         M
         M
<outer>

Worker thread's 1 and 2 include closure information that let them
refer to variables on the Main thread's stack.  This is typically
implemented as disjoint threads vis:
    M    1    2
    M    1    2
     *    *    *
     *    *    *
("*" represents system stack information) and each thread contains
some sort of thread chain pointer.  In such an implementation, the
backtrace for thread 1 or 2 would include system frames and not the
Main's stack as the user expects.  Has any one explored ways to
describe the stack tree?  Perhaps something similar to
DW_AT_static_link?

Andrew



More information about the Dwarf-Discuss mailing list