ast added a comment. > I can rename these things, but tbh I don't think this functionality would be > useful anywhere outside BPF, thus such renaming would be kind-of deceptive > (and in case it would be useful, the renaming could be done at the time of > second use).
I agree that it's not useful outside of BPF, but it's useful outside of 'ctx'. I think 'preserve_constant_field_offset' would be more accurate description of the restriction. We can expand in the doc that it's a constant offset when field of the struct is accessed. Also instead of btf_tag it would be better to add another builtin similar to preserve_access_index. Currently we add __attribute__((preserve_access_index)) to trigger CO-RE. This one will be a new __attribute__((preserve_constant_field_offset)) that will be specified manually either in uapi/bpf.h or in vmlinux.h on some structs and it will have precedence over preserve_access_index, so (__attribute__((preserve_access_index)), apply_to = record) in vmlinux.h will be ignored on such structs. Otherwise it's a bit odd that special names inside btf_tag have stronger rules than other __attribute__((preserve_access_index)). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133361/new/ https://reviews.llvm.org/D133361 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits