yonghong-song added a comment. For question
> Is there a use case to apply that attribute to inner types automatically ? It is possible, but I feel make attribute per record is better. For example, struct s1 { int foo; }; struct s2 { struct s1 *ptr; } __reloc__ *s2; If we implicitly mark struct `s1` as __reloc__, later user may have another code like struct s1 *p; p->foo he may be surprised by relocation. If this is user intention to have relocation for struct `s1`, I think explicit attribute is better. Another question would be during IR generation can we magically generate relocation for `ptr->foo` in `s2->ptr->foo`? Without marking the record, this will require pass context sensitive information along code generation, which could be error prone as when to clear such context sensitive information. I would prefer explicit marking. If user uses vmlinux.h, all struct/unions in vmlinux.h could have this attribute. If user defines their own structures for later relocation, I expect this should not be a huge amount and some manual work by users should be okay. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69759/new/ https://reviews.llvm.org/D69759 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits