On Fri, 2024-08-30 at 14:25 -0700, Andrii Nakryiko wrote:

[...]

> >         err = bpf_object__elf_init(obj);
> > -       err = err ? : bpf_object__check_endianness(obj);
> >         err = err ? : bpf_object__elf_collect(obj);
> >         err = err ? : bpf_object__collect_externs(obj);
> >         err = err ? : bpf_object_fixup_btf(obj);
> > @@ -8500,6 +8529,10 @@ static int bpf_object_load(struct bpf_object *obj, 
> > int extra_log_level, const ch
> > 
> >         if (obj->gen_loader)
> >                 bpf_gen__init(obj->gen_loader, extra_log_level, 
> > obj->nr_programs, obj->nr_maps);
> 
> nit: add {} around if, both sides should either have or not have {}
> 
> > +       else if (!is_native_endianness(obj)) {
> > +               pr_warn("object '%s' is not native endianness\n", 
> > obj->name);
> 
> "object '%s': load is not supported in non-native endianness\n"
> 
> 
> > +               return libbpf_err(-LIBBPF_ERRNO__ENDIAN);
> > +       }

Silly question:
  why load is allowed to proceed for non-native endianness when obj->gen_loader 
is set?


Reply via email to