1*5698a42aSYonghong Song // SPDX-License-Identifier: GPL-2.0 2*5698a42aSYonghong Song /* Copyright (c) 2021 Facebook */ 3*5698a42aSYonghong Song #include "vmlinux.h" 4*5698a42aSYonghong Song #include <bpf/bpf_helpers.h> 5*5698a42aSYonghong Song #include <bpf/bpf_tracing.h> 6*5698a42aSYonghong Song 7*5698a42aSYonghong Song #if __has_attribute(btf_type_tag) 8*5698a42aSYonghong Song #define __tag1 __attribute__((btf_type_tag("tag1"))) 9*5698a42aSYonghong Song #define __tag2 __attribute__((btf_type_tag("tag2"))) 10*5698a42aSYonghong Song volatile const bool skip_tests = false; 11*5698a42aSYonghong Song #else 12*5698a42aSYonghong Song #define __tag1 13*5698a42aSYonghong Song #define __tag2 14*5698a42aSYonghong Song volatile const bool skip_tests = true; 15*5698a42aSYonghong Song #endif 16*5698a42aSYonghong Song 17*5698a42aSYonghong Song struct btf_type_tag_test { 18*5698a42aSYonghong Song int __tag1 * __tag1 __tag2 *p; 19*5698a42aSYonghong Song } g; 20*5698a42aSYonghong Song 21*5698a42aSYonghong Song SEC("fentry/bpf_fentry_test1") BPF_PROG(sub,int x)22*5698a42aSYonghong Songint BPF_PROG(sub, int x) 23*5698a42aSYonghong Song { 24*5698a42aSYonghong Song return 0; 25*5698a42aSYonghong Song } 26