Ignore:
Timestamp:
Sep 23, 2022, 3:41:22 PM (22 months ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, master
Children:
996c8ed
Parents:
43db35e
Message:

Changed links of processors in cluster to avoid anonymous names, which are too brittle for gdb to follow

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/gdb/utils-gdb.py

    r43db35e r160f1aa  
    159159
    160160                # if we already saw the root, then go forward
    161                 my_next = self.curr['__anonymous_object2225']['_X4nextPY13__tE_generic__1']
     161                my_next = self.curr['_X4link']['_X4nextPY13__tE_generic__1']
    162162                self.curr = my_next.cast(cfa_t.processor_ptr)
    163163
     
    168168                return self.curr
    169169
     170def start_from_dlist(dlist):
     171        fs = dlist.type.fields()
     172        if len(fs) != 1:
     173                print("Error, can't understand dlist type for", dlist, dlist.name, dlist.type)
     174                return None
     175
     176        return dlist[fs[0]]
     177
    170178def proc_list(cluster):
    171179        """
     
    174182        cfa_t = get_cfa_types()
    175183        proclist = cluster['_X5procsS19__cluster_proc_list_1']
    176         idle = proclist['_X5idlesS5dlist_S9processorS5dlink_S9processor___1']['__anonymous_object2167']['_X4nextPY13__tE_generic__1']
    177         active = proclist['_X7activesS5dlist_S9processorS5dlink_S9processor___1']['__anonymous_object2167']['_X4nextPY13__tE_generic__1']
     184
     185        idle = start_from_dlist(proclist['_X5idlesS5dlist_S9processorS5dlink_S9processor___1'])
     186        active = start_from_dlist(proclist['_X7activesS5dlist_S9processorS5dlink_S9processor___1'])
    178187        return ProcIter(active.cast(cfa_t.processor_ptr)), ProcIter(idle.cast(cfa_t.processor_ptr))
    179188
Note: See TracChangeset for help on using the changeset viewer.