Em Fri, Mar 31, 2023 at 09:14:39AM -0300, Arnaldo Carvalho de Melo escreveu: > > This part I didn't understand, do you see any possibility of a > > DW_TAG_LLVM_annotation pointing to another DW_TAG_LLVM_annotation? > > I _think_ its a noop, so will test your patch as-is, thanks! Tested, now we're left with normalizing base type names generated by clang and gcc, things like: --- /tmp/gcc 2023-03-31 09:16:34.100006650 -0300 +++ /tmp/clang 2023-03-31 09:16:26.211789489 -0300 @@ -96,8 +96,8 @@ /* XXX 4 bytes hole, try to pack */ - long unsigned int state; /* 216 8 */ - long unsigned int state2; /* 224 8 */ + unsigned long state; /* 216 8 */ + unsigned long state2; /* 224 8 */ struct Qdisc * next_sched; /* 232 8 */ struct sk_buff_head skb_bad_txq; /* 240 24 */ @@ -112,7 +112,7 @@ /* XXX 40 bytes hole, try to pack */ /* --- cacheline 6 boundary (384 bytes) --- */ - long int privdata[]; /* 384 0 */ + long privdata[]; /* 384 0 */ /* size: 384, cachelines: 6, members: 28 */ /* sum members: 260, holes: 4, sum holes: 124 */ @@ -145,19 +145,19 @@ /* XXX 4 bytes hole, try to pack */ struct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *); /* 8 8 */ - int (*graft)(struct Qdisc *, long unsigned int, struct Qdisc *, struct Qdisc * *, struct netlink_ext_ack *); /* 16 8 */ + int (*graft)(struct Qdisc *, unsigned long, struct Qdisc *, struct Qdisc * *, struct netlink_ext_ack *); /* 16 8 */ - struct Qdisc * (*leaf)(struct Qdisc *, long unsigned int); /* 24 8 */ + struct Qdisc * (*leaf)(struct Qdisc *, unsigned long); /* 24 8 */ - void (*qlen_notify)(struct Qdisc *, long unsigned int); /* 32 8 */ + void (*qlen_notify)(struct Qdisc *, unsigned long); /* 32 8 */ - long unsigned int (*find)(struct Qdisc *, u32); /* 40 8 */ + unsigned long (*find)(struct Qdisc *, u32); /* 40 8 */ - int (*change)(struct Qdisc *, u32, u32, struct nlattr * *, long unsigned int *, struct netlink_ext_ack *); /* 48 8 */ + int (*change)(struct Qdisc *, u32, u32, struct nlattr * *, unsigned long *, struct netlink_ext_ack *); /* 48 8 */ - int (*delete)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *); /* 56 8 */ + int (*delete)(struct Qdisc *, unsigned long, struct netlink_ext_ack *); /* 56 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ void (*walk)(struct Qdisc *, struct qdisc_walker *); /* 64 8 */ - struct tcf_block * (*tcf_block)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *); /* 72 8 */ + struct tcf_block * (*tcf_block)(struct Qdisc *, unsigned long, struct netlink_ext_ack *); /* 72 8 */ - long unsigned int (*bind_tcf)(struct Qdisc *, long unsigned int, u32); /* 80 8 */ + unsigned long (*bind_tcf)(struct Qdisc *, unsigned long, u32); /* 80 8 */ - void (*unbind_tcf)(struct Qdisc *, long unsigned int); /* 88 8 */ + void (*unbind_tcf)(struct Qdisc *, unsigned long); /* 88 8 */ - int (*dump)(struct Qdisc *, long unsigned int, struct sk_buff *, struct tcmsg *); /* 96 8 */ + int (*dump)(struct Qdisc *, unsigned long, struct sk_buff *, struct tcmsg *); /* 96 8 */ - int (*dump_stats)(struct Qdisc *, long unsigned int, struct gnet_dump *); /* 104 8 */ + int (*dump_stats)(struct Qdisc *, unsigned long, struct gnet_dump *); /* 104 8 */ /* size: 112, cachelines: 2, members: 14 */ /* sum members: 108, holes: 1, sum holes: 4 */ @@ -227,21 +227,21 @@ This was affected somehow by these LLVM_annotation patches, I'll try to handle this later. - Arnaldo