aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCupertino Miranda <cupertino.miranda@oracle.com>2024-01-30 19:01:12 +0000
committerCupertino Miranda <cupertino.miranda@oracle.com>2024-02-28 19:20:20 +0000
commit0198cade5ac15c35ed3f5af54060d7bc6a39f326 (patch)
tree8cc5af8a2aaeeb623dcfc332767524e9d5b33819
parent95f012ef4a72eb50f05ad909fa10655f4cb8cbd3 (diff)
downloadgcc-0198cade5ac15c35ed3f5af54060d7bc6a39f326.zip
gcc-0198cade5ac15c35ed3f5af54060d7bc6a39f326.tar.gz
gcc-0198cade5ac15c35ed3f5af54060d7bc6a39f326.tar.bz2
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.
-rw-r--r--gcc/btfout.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index dcf751f..7e114e2 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;