.. | .. |
---|
882 | 882 | .btf_load_err = true, |
---|
883 | 883 | .err_str = "Invalid elem", |
---|
884 | 884 | }, |
---|
| 885 | +{ |
---|
| 886 | + .descr = "var after datasec, ptr followed by modifier", |
---|
| 887 | + .raw_types = { |
---|
| 888 | + /* .bss section */ /* [1] */ |
---|
| 889 | + BTF_TYPE_ENC(NAME_TBD, BTF_INFO_ENC(BTF_KIND_DATASEC, 0, 2), |
---|
| 890 | + sizeof(void*)+4), |
---|
| 891 | + BTF_VAR_SECINFO_ENC(4, 0, sizeof(void*)), |
---|
| 892 | + BTF_VAR_SECINFO_ENC(6, sizeof(void*), 4), |
---|
| 893 | + /* int */ /* [2] */ |
---|
| 894 | + BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4), |
---|
| 895 | + /* int* */ /* [3] */ |
---|
| 896 | + BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_PTR, 0, 0), 2), |
---|
| 897 | + BTF_VAR_ENC(NAME_TBD, 3, 0), /* [4] */ |
---|
| 898 | + /* const int */ /* [5] */ |
---|
| 899 | + BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_CONST, 0, 0), 2), |
---|
| 900 | + BTF_VAR_ENC(NAME_TBD, 5, 0), /* [6] */ |
---|
| 901 | + BTF_END_RAW, |
---|
| 902 | + }, |
---|
| 903 | + .str_sec = "\0a\0b\0c\0", |
---|
| 904 | + .str_sec_size = sizeof("\0a\0b\0c\0"), |
---|
| 905 | + .map_type = BPF_MAP_TYPE_ARRAY, |
---|
| 906 | + .map_name = ".bss", |
---|
| 907 | + .key_size = sizeof(int), |
---|
| 908 | + .value_size = sizeof(void*)+4, |
---|
| 909 | + .key_type_id = 0, |
---|
| 910 | + .value_type_id = 1, |
---|
| 911 | + .max_entries = 1, |
---|
| 912 | +}, |
---|
885 | 913 | /* Test member exceeds the size of struct. |
---|
886 | 914 | * |
---|
887 | 915 | * struct A { |
---|