@@ -6877,11 +6877,12 @@ const struct btf_dedup_test dedup_tests[] = {
6877
6877
BTF_FUNC_PROTO_ARG_ENC (NAME_TBD , 8 ),
6878
6878
BTF_FUNC_ENC (NAME_TBD , 12 ), /* [13] func */
6879
6879
BTF_TYPE_FLOAT_ENC (NAME_TBD , 2 ), /* [14] float */
6880
- BTF_DECL_TAG_ENC (NAME_TBD , 13 , -1 ), /* [15] tag */
6881
- BTF_DECL_TAG_ENC (NAME_TBD , 13 , 1 ), /* [16] tag */
6880
+ BTF_DECL_TAG_ENC (NAME_TBD , 13 , -1 ), /* [15] decl_tag */
6881
+ BTF_DECL_TAG_ENC (NAME_TBD , 13 , 1 ), /* [16] decl_tag */
6882
+ BTF_DECL_TAG_ENC (NAME_TBD , 7 , -1 ), /* [17] decl_tag */
6882
6883
BTF_END_RAW ,
6883
6884
},
6884
- BTF_STR_SEC ("\0A\0B\0C\0D\0E\0F\0G\0H\0I\0J\0K\0L\0M\0N\0O\0P" ),
6885
+ BTF_STR_SEC ("\0A\0B\0C\0D\0E\0F\0G\0H\0I\0J\0K\0L\0M\0N\0O\0P\0Q " ),
6885
6886
},
6886
6887
.expect = {
6887
6888
.raw_types = {
@@ -6905,11 +6906,12 @@ const struct btf_dedup_test dedup_tests[] = {
6905
6906
BTF_FUNC_PROTO_ARG_ENC (NAME_TBD , 8 ),
6906
6907
BTF_FUNC_ENC (NAME_TBD , 12 ), /* [13] func */
6907
6908
BTF_TYPE_FLOAT_ENC (NAME_TBD , 2 ), /* [14] float */
6908
- BTF_DECL_TAG_ENC (NAME_TBD , 13 , -1 ), /* [15] tag */
6909
- BTF_DECL_TAG_ENC (NAME_TBD , 13 , 1 ), /* [16] tag */
6909
+ BTF_DECL_TAG_ENC (NAME_TBD , 13 , -1 ), /* [15] decl_tag */
6910
+ BTF_DECL_TAG_ENC (NAME_TBD , 13 , 1 ), /* [16] decl_tag */
6911
+ BTF_DECL_TAG_ENC (NAME_TBD , 7 , -1 ), /* [17] decl_tag */
6910
6912
BTF_END_RAW ,
6911
6913
},
6912
- BTF_STR_SEC ("\0A\0B\0C\0D\0E\0F\0G\0H\0I\0J\0K\0L\0M\0N\0O\0P" ),
6914
+ BTF_STR_SEC ("\0A\0B\0C\0D\0E\0F\0G\0H\0I\0J\0K\0L\0M\0N\0O\0P\0Q " ),
6913
6915
},
6914
6916
.opts = {
6915
6917
.dont_resolve_fwds = false,
@@ -7204,6 +7206,39 @@ const struct btf_dedup_test dedup_tests[] = {
7204
7206
.dont_resolve_fwds = false,
7205
7207
},
7206
7208
},
7209
+ {
7210
+ .descr = "dedup: typedef tags" ,
7211
+ .input = {
7212
+ .raw_types = {
7213
+ /* int */
7214
+ BTF_TYPE_INT_ENC (0 , BTF_INT_SIGNED , 0 , 32 , 4 ), /* [1] */
7215
+ BTF_TYPEDEF_ENC (NAME_NTH (1 ), 1 ), /* [2] */
7216
+ BTF_TYPEDEF_ENC (NAME_NTH (1 ), 1 ), /* [3] */
7217
+ /* tag -> t: tag1, tag2 */
7218
+ BTF_DECL_TAG_ENC (NAME_NTH (2 ), 2 , -1 ), /* [4] */
7219
+ BTF_DECL_TAG_ENC (NAME_NTH (3 ), 2 , -1 ), /* [5] */
7220
+ /* tag -> t: tag1, tag3 */
7221
+ BTF_DECL_TAG_ENC (NAME_NTH (2 ), 3 , -1 ), /* [6] */
7222
+ BTF_DECL_TAG_ENC (NAME_NTH (4 ), 3 , -1 ), /* [7] */
7223
+ BTF_END_RAW ,
7224
+ },
7225
+ BTF_STR_SEC ("\0t\0tag1\0tag2\0tag3" ),
7226
+ },
7227
+ .expect = {
7228
+ .raw_types = {
7229
+ BTF_TYPE_INT_ENC (0 , BTF_INT_SIGNED , 0 , 32 , 4 ), /* [1] */
7230
+ BTF_TYPEDEF_ENC (NAME_NTH (1 ), 1 ), /* [2] */
7231
+ BTF_DECL_TAG_ENC (NAME_NTH (2 ), 2 , -1 ), /* [3] */
7232
+ BTF_DECL_TAG_ENC (NAME_NTH (3 ), 2 , -1 ), /* [4] */
7233
+ BTF_DECL_TAG_ENC (NAME_NTH (4 ), 2 , -1 ), /* [5] */
7234
+ BTF_END_RAW ,
7235
+ },
7236
+ BTF_STR_SEC ("\0t\0tag1\0tag2\0tag3" ),
7237
+ },
7238
+ .opts = {
7239
+ .dont_resolve_fwds = false,
7240
+ },
7241
+ },
7207
7242
7208
7243
};
7209
7244
0 commit comments