From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7850) id 1871A3857703; Fri, 26 May 2023 06:57:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1871A3857703 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Indu Bhagat To: bfd-cvs@sourceware.org, gdb-cvs@sourceware.org Subject: [binutils-gdb] libsframe: use const char * consistently for immutable FRE buffers X-Act-Checkin: binutils-gdb X-Git-Author: Indu Bhagat X-Git-Refname: refs/heads/master X-Git-Oldrev: e80578bea749c35ac9222bf86c112f408ce8a55b X-Git-Newrev: 812d868850126d8e791795c7e248ffbf580925f6 Message-Id: <20230526065749.1871A3857703@sourceware.org> Date: Fri, 26 May 2023 06:57:49 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 May 2023 06:57:49 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D812d86885012= 6d8e791795c7e248ffbf580925f6 commit 812d868850126d8e791795c7e248ffbf580925f6 Author: Indu Bhagat Date: Thu May 25 23:44:02 2023 -0700 libsframe: use const char * consistently for immutable FRE buffers =20 libsframe/ * sframe.c (sframe_decode_fre): Use const char * datatype when handling buffer containing the FREs. (sframe_fre_get_end_ip_offset): Likewise. (sframe_find_fre): Likewise. (sframe_decoder_get_fre): Likewise. Diff: --- libsframe/sframe.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/libsframe/sframe.c b/libsframe/sframe.c index a79d4de96da..72b221349ad 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -733,11 +733,10 @@ sframe_decode_fre_start_address (const char *fre_buf, =20 static int sframe_decode_fre (const char *fre_buf, sframe_frame_row_entry *fre, - unsigned int fre_type, - size_t *esz) + unsigned int fre_type, size_t *esz) { int err =3D 0; - void *stack_offsets =3D NULL; + const char *stack_offsets =3D NULL; size_t stack_offsets_sz; size_t addr_size; size_t fre_size; @@ -758,7 +757,7 @@ sframe_decode_fre (const char *fre_buf, sframe_frame_ro= w_entry *fre, memset (fre->fre_offsets, 0, MAX_OFFSET_BYTES); /* Get offsets size. */ stack_offsets_sz =3D sframe_fre_offset_bytes_size (fre->fre_info); - stack_offsets =3D (unsigned char *)fre_buf + addr_size + sizeof (fre->fr= e_info); + stack_offsets =3D fre_buf + addr_size + sizeof (fre->fre_info); memcpy (fre->fre_offsets, stack_offsets, stack_offsets_sz); =20 /* The FRE has been decoded. Use it to perform one last sanity check. = */ @@ -991,7 +990,7 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, sframe_func_desc_entry *fdep; uint32_t start_address, i; sframe_frame_row_entry cur_fre, next_fre; - unsigned char *sp; + const char *fres; unsigned int fre_type, fde_type; size_t esz; int err =3D 0; @@ -1022,10 +1021,10 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t p= c, if (fde_type =3D=3D SFRAME_FDE_TYPE_PCMASK) bitmask =3D 0xff; =20 - sp =3D (unsigned char *) ctx->sfd_fres + fdep->sfde_func_start_fre_off; + fres =3D ctx->sfd_fres + fdep->sfde_func_start_fre_off; for (i =3D 0; i < fdep->sfde_func_num_fres; i++) { - err =3D sframe_decode_fre ((const char *)sp, &next_fre, fre_type, &es= z); + err =3D sframe_decode_fre (fres, &next_fre, fre_type, &esz); start_address =3D next_fre.fre_start_addr; =20 if (((fdep->sfde_func_start_address @@ -1037,8 +1036,7 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, if (i < fdep->sfde_func_num_fres - 1) { sp +=3D esz; - err =3D sframe_decode_fre ((const char*)sp, &next_fre, - fre_type, &esz); + err =3D sframe_decode_fre (fres, &next_fre, fre_type, &esz); =20 /* Sanity check the next FRE. */ if (!sframe_fre_sanity_check_p (&next_fre)) @@ -1141,7 +1139,7 @@ sframe_decoder_get_fre (sframe_decoder_ctx *ctx, { sframe_func_desc_entry *fdep; sframe_frame_row_entry ifre; - unsigned char *sp; + const char *fres; uint32_t i; unsigned int fre_type; size_t esz =3D 0; @@ -1158,11 +1156,11 @@ sframe_decoder_get_fre (sframe_decoder_ctx *ctx, =20 fre_type =3D sframe_get_fre_type (fdep); /* Now scan the FRE entries. */ - sp =3D (unsigned char *) ctx->sfd_fres + fdep->sfde_func_start_fre_off; + fres =3D ctx->sfd_fres + fdep->sfde_func_start_fre_off; for (i =3D 0; i < fdep->sfde_func_num_fres; i++) { /* Decode the FRE at the current position. Return it if valid. */ - err =3D sframe_decode_fre ((const char *)sp, &ifre, fre_type, &esz); + err =3D sframe_decode_fre (fres, &ifre, fre_type, &esz); if (i =3D=3D fre_idx) { if (!sframe_fre_sanity_check_p (&ifre)) @@ -1179,7 +1177,7 @@ sframe_decoder_get_fre (sframe_decoder_ctx *ctx, return 0; } /* Next FRE. */ - sp +=3D esz; + fres +=3D esz; } =20 return sframe_set_errno (&err, SFRAME_ERR_FDE_NOTFOUND);