Message ID | 20240220102427.1512739-2-cupertino.miranda@oracle.com |
---|---|
State | New |
Headers | show |
Series | [1/5] btf: fixed type id in BTF_KIND_FUNC struct data. | expand |
On 2/20/24 02:24, Cupertino Miranda wrote: > This patch correct the aditition of +1 on the type id, which originally > was done in the wrong location and leaded to func_sts->dtd_type for > BTF_KIND_FUNCS struct data to contain the type id of the previous entry. > > gcc/ChangeLog: > * btfout.cc (btf_collect_dataset): Corrected BTF type id. OK, thanks. > --- > gcc/btfout.cc | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/gcc/btfout.cc b/gcc/btfout.cc > index dcf751f8fe0d..7e114e224449 100644 > --- a/gcc/btfout.cc > +++ b/gcc/btfout.cc > @@ -457,7 +457,8 @@ btf_collect_datasec (ctf_container_ref ctfc) > func_dtd->dtd_data.ctti_type = dtd->dtd_type; > func_dtd->linkage = dtd->linkage; > func_dtd->dtd_name = dtd->dtd_name; > - func_dtd->dtd_type = num_types_added + num_types_created; > + /* +1 for the sentinel type not in the types map. */ > + func_dtd->dtd_type = num_types_added + num_types_created + 1; > > /* Only the BTF_KIND_FUNC type actually references the name. The > BTF_KIND_FUNC_PROTO is always anonymous. */ > @@ -480,8 +481,7 @@ btf_collect_datasec (ctf_container_ref ctfc) > > struct btf_var_secinfo info; > > - /* +1 for the sentinel type not in the types map. */ > - info.type = func_dtd->dtd_type + 1; > + info.type = func_dtd->dtd_type; > > /* Both zero at compile time. */ > info.size = 0;
diff --git a/gcc/btfout.cc b/gcc/btfout.cc index dcf751f8fe0d..7e114e224449 100644 --- a/gcc/btfout.cc +++ b/gcc/btfout.cc @@ -457,7 +457,8 @@ btf_collect_datasec (ctf_container_ref ctfc) func_dtd->dtd_data.ctti_type = dtd->dtd_type; func_dtd->linkage = dtd->linkage; func_dtd->dtd_name = dtd->dtd_name; - func_dtd->dtd_type = num_types_added + num_types_created; + /* +1 for the sentinel type not in the types map. */ + func_dtd->dtd_type = num_types_added + num_types_created + 1; /* Only the BTF_KIND_FUNC type actually references the name. The BTF_KIND_FUNC_PROTO is always anonymous. */ @@ -480,8 +481,7 @@ btf_collect_datasec (ctf_container_ref ctfc) struct btf_var_secinfo info; - /* +1 for the sentinel type not in the types map. */ - info.type = func_dtd->dtd_type + 1; + info.type = func_dtd->dtd_type; /* Both zero at compile time. */ info.size = 0;