@@ -476,23 +476,20 @@ def bpf_probe_read_emitter(
476476 if len (call .args ) != 3 :
477477 logger .warn ("Expected 3 args for probe_read helper" )
478478 return
479- dst_ptr , _ = get_ptr_from_arg (
480- call .args [0 ], func , module , builder , local_sym_tab , map_sym_tab , struct_sym_tab
479+ dst_ptr = get_or_create_ptr_from_arg (
480+ func , module , call .args [0 ], builder , local_sym_tab , map_sym_tab , struct_sym_tab
481481 )
482- size_val = (
483- get_int_value_from_arg (
484- call .args [1 ],
485- func ,
486- module ,
487- builder ,
488- local_sym_tab ,
489- map_sym_tab ,
490- struct_sym_tab ,
491- )
492- & 0xFFFFFFFF
482+ size_val = get_int_value_from_arg (
483+ call .args [1 ],
484+ func ,
485+ module ,
486+ builder ,
487+ local_sym_tab ,
488+ map_sym_tab ,
489+ struct_sym_tab ,
493490 )
494- src_ptr , _ = get_ptr_from_arg (
495- call .args [2 ], func , module , builder , local_sym_tab , map_sym_tab , struct_sym_tab
491+ src_ptr = get_or_create_ptr_from_arg (
492+ func , module , call .args [2 ], builder , local_sym_tab , map_sym_tab , struct_sym_tab
496493 )
497494 fn_type = ir .FunctionType (
498495 ir .IntType (64 ),
@@ -507,7 +504,7 @@ def bpf_probe_read_emitter(
507504 fn_ptr ,
508505 [
509506 builder .bitcast (dst_ptr , ir .PointerType ()),
510- ir . Constant ( ir .IntType (32 ), size_val ),
507+ builder . trunc ( size_val , ir .IntType (32 )),
511508 builder .bitcast (src_ptr , ir .PointerType ()),
512509 ],
513510 tail = False ,
0 commit comments