Files
python-bpf/pythonbpf/vmlinux_parser/ir_gen/debug_info_gen.py

21 lines
683 B
Python

from pythonbpf.debuginfo import DebugInfoGenerator
from ..dependency_node import DependencyNode
def debug_info_generation(
struct: DependencyNode, llvm_module, generated_debug_info: list
):
generator = DebugInfoGenerator(llvm_module)
members = []
uint32type = generator.get_uint32_type()
for field_name, field in struct.fields.items():
members.append(generator.create_struct_member(field_name, uint32type, field.offset))
struct_type = generator.create_struct_type(members, struct.__sizeof__(), is_distinct=True)
global_var = generator.create_global_var_debug_info(
struct.name, struct_type, is_local=False
)
return global_var