diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2022-12-12 13:15:02 -0800 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2022-12-15 00:05:12 +0100 |
commit | 9d2349740e430b20660457b7c88fa06467457272 (patch) | |
tree | f9fb1b70d0f78d0f0b88b48615de6d9113bf799a | |
parent | 21a9a1bcccaa4f0337a24d666fe55944abcb171e (diff) | |
download | linux-9d2349740e430b20660457b7c88fa06467457272.tar.gz linux-9d2349740e430b20660457b7c88fa06467457272.tar.bz2 linux-9d2349740e430b20660457b7c88fa06467457272.zip |
selftests/bpf: Add non-standardly sized enum tests for btf_dump
Add few custom enum definitions testing mode(byte) and mode(word)
attributes.
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20221212211505.558851-4-andrii@kernel.org
-rw-r--r-- | tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c b/tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c index 4ee4748133fe..26fffb02ed10 100644 --- a/tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c +++ b/tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c @@ -25,6 +25,39 @@ typedef enum { H = 2, } e3_t; +/* ----- START-EXPECTED-OUTPUT ----- */ +/* + *enum e_byte { + * EBYTE_1 = 0, + * EBYTE_2 = 1, + *} __attribute__((mode(byte))); + * + */ +/* ----- END-EXPECTED-OUTPUT ----- */ +enum e_byte { + EBYTE_1, + EBYTE_2, +} __attribute__((mode(byte))); + +/* ----- START-EXPECTED-OUTPUT ----- */ +/* + *enum e_word { + * EWORD_1 = 0LL, + * EWORD_2 = 1LL, + *} __attribute__((mode(word))); + * + */ +/* ----- END-EXPECTED-OUTPUT ----- */ +enum e_word { + EWORD_1, + EWORD_2, +} __attribute__((mode(word))); /* force to use 8-byte backing for this enum */ + +/* ----- START-EXPECTED-OUTPUT ----- */ +enum e_big { + EBIG_1 = 1000000000000ULL, +}; + typedef int int_t; typedef volatile const int * volatile const crazy_ptr_t; @@ -224,6 +257,9 @@ struct root_struct { enum e2 _2; e2_t _2_1; e3_t _2_2; + enum e_byte _100; + enum e_word _101; + enum e_big _102; struct struct_w_typedefs _3; anon_struct_t _7; struct struct_fwd *_8; |