On Thu, Oct 17, 2019 at 9:28 AM Stanislav Fomichev <sdf@xxxxxxxxxxx> wrote: > Tried to do the following: > > 1. Add: static volatile const char __annotate_source1[] = __FILE__; > to test_rdonly_maps.c and I think it got optimized away :-/ > At least I don't see it in the 'bpftool btf dump' output. > > 2. Add: char __annotate_source2[] SEC(".meta") = __FILE__; > to test_rdonly_maps.c and do all the required plumbing in libbpf > to treat .meta like .rodata. I think it works, but the map > disappears after bpftool exits because this data is not referenced > in the prog and the refcount drops to zero :-( > > Am I missing something? "Some assembly required". I think first variant should work at the end. I don't think extra section should be a requirement. Sounds like with 2 it's pretty close. Just need to make sure that prog side sees the map as referenced. And more importantly bpftool can find that map from prog later.