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.
This commit is contained in:
Cupertino Miranda 2024-01-30 19:01:12 +00:00
parent 95f012ef4a
commit 0198cade5a

View file

@ -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;