From: Cupertino Miranda Date: Tue, 30 Jan 2024 19:01:12 +0000 (+0000) Subject: btf: fix type id in BTF_KIND_FUNC struct data. X-Git-Tag: basepoints/gcc-15~918 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0198cade5ac15c35ed3f5af54060d7bc6a39f326;p=thirdparty%2Fgcc.git btf: fix type id in BTF_KIND_FUNC struct data. This patch corrects the addition of +1 on the type id, which originally was done in the wrong location and led to func_dtd->dtd_type for BTF_KIND_FUNC struct data to contain the type id of the previous entry. gcc/ChangeLog: * btfout.cc (btf_collect_dataset): Corrects BTF type id. --- 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;