attr_field
emit_rel_store(gen, attr_field(prog_load_attr, license), license_off);
emit_rel_store(gen, attr_field(prog_load_attr, insns), insns_off);
emit_rel_store(gen, attr_field(prog_load_attr, func_info), func_info);
emit_rel_store(gen, attr_field(prog_load_attr, line_info), line_info);
emit_rel_store(gen, attr_field(prog_load_attr, core_relos), core_relos);
emit_rel_store(gen, attr_field(prog_load_attr, fd_array), gen->fd_array);
move_ctx2blob(gen, attr_field(prog_load_attr, log_level), 4,
move_ctx2blob(gen, attr_field(prog_load_attr, log_size), 4,
move_ctx2blob(gen, attr_field(prog_load_attr, log_buf), 8,
move_stack2blob(gen, attr_field(prog_load_attr, prog_btf_fd), 4,
attr_field(prog_load_attr, attach_btf_obj_fd));
move_blob2blob(gen, attr_field(map_update_attr, map_fd), 4,
emit_rel_store(gen, attr_field(map_update_attr, key), key);
emit_rel_store(gen, attr_field(map_update_attr, value), value);
move_blob2blob(gen, attr_field(map_update_attr, map_fd), 4,
emit_rel_store(gen, attr_field(map_update_attr, key), key);
emit_rel_store(gen, attr_field(map_update_attr, value),
move_blob2blob(gen, attr_field(map_freeze_attr, map_fd), 4,
move_ctx2blob(gen, attr_field(btf_load_attr, btf_log_level), 4,
move_ctx2blob(gen, attr_field(btf_load_attr, btf_log_size), 4,
move_ctx2blob(gen, attr_field(btf_load_attr, btf_log_buf), 8,
emit_rel_store(gen, attr_field(btf_load_attr, btf), btf_data);
move_stack2blob(gen, attr_field(map_create_attr, btf_fd), 4,
move_stack2blob(gen, attr_field(map_create_attr, inner_map_fd), 4,
move_ctx2blob(gen, attr_field(map_create_attr, max_entries), 4,