btfdump 0.0.4

BTF introspection tool
Documentation
struct s1;

typedef void (*f1)(struct s1);
typedef struct s1 (*f2)();

struct s2;

// struct s4 has weak edge to struct s3
struct s4 {
	struct s3* a;
};

struct s3 {
	struct s2* x1;
};

// struct s2 has strong edge to struct s3
struct s2 {
	struct s3 a;
};

struct t1;

typedef struct t1 t1_t;

struct t1 {
	const struct t2* t;
};

struct t2 {
	t1_t t;
};

int main() {
	static f1 f1 = 0;
	static f2 f2 = 0;
	static struct s4 s4;
	static struct s2 s2;
	static struct s3 s3;
	static struct t1 t1;
	static struct t2 t2;
	return 0;
}