On Fri, Jun 3, 2022 at 8:14 AM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > On Fri, Jun 3, 2022 at 4:00 AM Yonghong Song <yhs@xxxxxx> wrote: > > + > > +SEC("raw_tracepoint/sys_enter") > > +int test_core_enum64val(void *ctx) > > +{ > > +#if __has_builtin(__builtin_preserve_enum_value) > > + struct core_reloc_enum64val_output *out = (void *)&data.out; > > + enum named_unsigned_enum64 named_unsigned = 0; > > + enum named_signed_enum64 named_signed = 0; > > libbpf: prog 'test_core_enum64val': relo #0: unexpected insn #0 > (LDIMM64) value: got 8589934591, exp 18446744073709551615 -> > 18446744073709551615 > libbpf: prog 'test_core_enum64val': relo #0: failed to patch insn #0: -22 > libbpf: failed to perform CO-RE relocations: -22 > libbpf: failed to load object 'test_core_reloc_enum64val.o' > > Is it failing in CI because clang is too old? Hm... doesn't seem so. I pulled Yonghong's patches locally, built the very latest Clang, rebuilt selftests from scratch and I get the same error. Yonghong, do you get the same error in your setup? If not, what am I missing in mine? > CI will pick up newer clang sooner or later, > but the users will be confused. > The patch 17/18 that updates README certainly helps, > but I was wondering whether we can do a similar trick > to what Andrii did in libbpf and make the error more human readable?