Debugging with GDB: Unregistering Code

Next: Custom Debug Info, Previous: Registering Code, Up: JIT Interface   [Contents][Index]


29.3 Unregistering Code

If code is freed, then the JIT should use the following protocol:

  • Remove the code entry corresponding to the code from the linked list.
  • Point the relevant_entry field of the descriptor at the code entry.
  • Set action_flag to JIT_UNREGISTER and call __jit_debug_register_code.

If the JIT frees or recompiles code without unregistering it, then GDB and the JIT will leak the memory used for the associated symbol files.