| 17 | |
| 18 | namespace pystack { |
| 19 | ModuleCuDieRanges::CuDieRanges::CuDieRanges(Dwfl_Module* mod) |
| 20 | { |
| 21 | if (!mod) { |
| 22 | return; |
| 23 | } |
| 24 | |
| 25 | Dwarf_Die* die = nullptr; |
| 26 | Dwarf_Addr bias = 0; |
| 27 | while ((die = dwfl_module_nextcu(mod, die, &bias))) { |
| 28 | Dwarf_Addr low = 0; |
| 29 | Dwarf_Addr high = 0; |
| 30 | Dwarf_Addr base = 0; |
| 31 | ptrdiff_t offset = 0; |
| 32 | while ((offset = dwarf_ranges(die, offset, &base, &low, &high)) > 0) { |
| 33 | d_ranges.push_back(CuDieRange{die, bias, low + bias, high + bias}); |
| 34 | } |
| 35 | } |
| 36 | } |
| 37 | |
| 38 | Dwarf_Die* |
| 39 | ModuleCuDieRanges::CuDieRanges::findDie(Dwarf_Addr addr, Dwarf_Addr* bias) const |
nothing calls this directly
no outgoing calls
no test coverage detected