[1/5] btf: fixed type id in BTF_KIND_FUNC struct data.

Message ID 20240220102427.1512739-2-cupertino.miranda@oracle.com
State Committed
Commit 0198cade5ac15c35ed3f5af54060d7bc6a39f326
Headers
Series [1/5] btf: fixed type id in BTF_KIND_FUNC struct data. |

Commit Message

Cupertino Miranda Feb. 20, 2024, 10:24 a.m. UTC
  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.
---
 gcc/btfout.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

David Faust Feb. 20, 2024, 7:54 p.m. UTC | #1
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;
  

Patch

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;