[PATCH 2/5] libsframe: use const qualifier for sframe_header object
Indu Bhagat
indu.bhagat@oracle.com
Fri Oct 17 07:05:42 GMT 2025
...where applicable.
For the static functions that do not modify the sframe_header object,
use const. Ditto for local vars too.
libsframe/
* sframe.c (sframe_get_hdr_size): Use const qualifier.
(sframe_header_sanity_check_p): Likewise.
(flip_sframe): Use const for local var.
(sframe_decode): Likewise. While at it, use similar looking var
name.
(sframe_decoder_get_hdr_size): Use const for local var.
(sframe_decoder_get_abi_arch): Likewise.
(sframe_decoder_get_version): Likewise.
(sframe_decoder_get_fixed_fp_offset): Likewise.
(sframe_decoder_get_fixed_ra_offset): Likewise.
(sframe_get_funcdesc_with_addr_internal): Likewise.
(sframe_decoder_get_num_fidx): Likewise.
(sframe_encoder_get_hdr_size): Likewise.
(sframe_encoder_get_abi_arch): Likewise.
(sframe_encoder_get_version): Likewise.
(sframe_encoder_get_num_fidx): Likewise.
---
libsframe/sframe.c | 62 ++++++++++++++++++----------------------------
1 file changed, 24 insertions(+), 38 deletions(-)
diff --git a/libsframe/sframe.c b/libsframe/sframe.c
index 65f2c6c53ee..34c6f7e347d 100644
--- a/libsframe/sframe.c
+++ b/libsframe/sframe.c
@@ -106,7 +106,7 @@ sframe_ret_set_errno (int *errp, int error)
/* Get the SFrame header size. */
static uint32_t
-sframe_get_hdr_size (sframe_header *sfh)
+sframe_get_hdr_size (const sframe_header *sfh)
{
return SFRAME_V1_HDR_SIZE (*sfh);
}
@@ -210,7 +210,7 @@ flip_fde (sframe_func_desc_entry *fdep)
/* Check if SFrame header has valid data. */
static bool
-sframe_header_sanity_check_p (sframe_header *hp)
+sframe_header_sanity_check_p (const sframe_header *hp)
{
/* Check preamble is valid. */
if (hp->sfh_preamble.sfp_magic != SFRAME_MAGIC
@@ -476,7 +476,7 @@ static int
flip_sframe (char *frame_buf, size_t buf_size, uint32_t to_foreign)
{
unsigned int i, j, prev_frep_index;
- sframe_header *ihp;
+ const sframe_header *ihp;
char *fdes;
char *fp = NULL;
sframe_func_desc_entry *fdep;
@@ -910,7 +910,7 @@ sframe_decode (const char *sf_buf, size_t sf_size, int *errp)
{
const sframe_preamble *sfp;
size_t hdrsz;
- sframe_header *sfheaderp;
+ const sframe_header *dhp;
sframe_decoder_ctx *dctx;
char *frame_buf;
char *tempbuf = NULL;
@@ -974,18 +974,17 @@ sframe_decode (const char *sf_buf, size_t sf_size, int *errp)
/* Handle the SFrame header. */
dctx->sfd_header = *(sframe_header *) frame_buf;
/* Validate the contents of SFrame header. */
- sfheaderp = &dctx->sfd_header;
- if (!sframe_header_sanity_check_p (sfheaderp))
+ dhp = &dctx->sfd_header;
+ if (!sframe_header_sanity_check_p (dhp))
{
sframe_ret_set_errno (errp, SFRAME_ERR_BUF_INVAL);
goto decode_fail_free;
}
- hdrsz = sframe_get_hdr_size (sfheaderp);
+ hdrsz = sframe_get_hdr_size (dhp);
frame_buf += hdrsz;
/* Handle the SFrame Function Descriptor Entry section. */
- fidx_size
- = sfheaderp->sfh_num_fdes * sizeof (sframe_func_desc_entry);
+ fidx_size = dhp->sfh_num_fdes * sizeof (sframe_func_desc_entry);
dctx->sfd_funcdesc = malloc (fidx_size);
if (dctx->sfd_funcdesc == NULL)
{
@@ -993,23 +992,21 @@ sframe_decode (const char *sf_buf, size_t sf_size, int *errp)
goto decode_fail_free;
}
/* SFrame FDEs are at an offset of sfh_fdeoff from SFrame header end. */
- memcpy (dctx->sfd_funcdesc, frame_buf + sfheaderp->sfh_fdeoff, fidx_size);
+ memcpy (dctx->sfd_funcdesc, frame_buf + dhp->sfh_fdeoff, fidx_size);
debug_printf ("%u total fidx size\n", fidx_size);
/* Handle the SFrame Frame Row Entry section. */
- dctx->sfd_fres = (char *) malloc (sfheaderp->sfh_fre_len);
+ dctx->sfd_fres = (char *) malloc (dhp->sfh_fre_len);
if (dctx->sfd_fres == NULL)
{
sframe_ret_set_errno (errp, SFRAME_ERR_NOMEM);
goto decode_fail_free;
}
/* SFrame FREs are at an offset of sfh_freoff from SFrame header end. */
- memcpy (dctx->sfd_fres,
- frame_buf + sfheaderp->sfh_freoff,
- sfheaderp->sfh_fre_len);
+ memcpy (dctx->sfd_fres, frame_buf + dhp->sfh_freoff, dhp->sfh_fre_len);
- fre_bytes = sfheaderp->sfh_fre_len;
+ fre_bytes = dhp->sfh_fre_len;
dctx->sfd_fre_nbytes = fre_bytes;
debug_printf ("%u total fre bytes\n", fre_bytes);
@@ -1029,8 +1026,7 @@ decode_fail_free:
unsigned int
sframe_decoder_get_hdr_size (sframe_decoder_ctx *ctx)
{
- sframe_header *dhp;
- dhp = sframe_decoder_get_header (ctx);
+ const sframe_header *dhp = sframe_decoder_get_header (ctx);
return sframe_get_hdr_size (dhp);
}
@@ -1039,9 +1035,8 @@ sframe_decoder_get_hdr_size (sframe_decoder_ctx *ctx)
uint8_t
sframe_decoder_get_abi_arch (sframe_decoder_ctx *dctx)
{
- sframe_header *sframe_header;
- sframe_header = sframe_decoder_get_header (dctx);
- return sframe_header->sfh_abi_arch;
+ const sframe_header *dhp = sframe_decoder_get_header (dctx);
+ return dhp->sfh_abi_arch;
}
/* Get the format version from the SFrame decoder context DCTX. */
@@ -1049,8 +1044,7 @@ sframe_decoder_get_abi_arch (sframe_decoder_ctx *dctx)
uint8_t
sframe_decoder_get_version (sframe_decoder_ctx *dctx)
{
- sframe_header *dhp;
- dhp = sframe_decoder_get_header (dctx);
+ const sframe_header *dhp = sframe_decoder_get_header (dctx);
return dhp->sfh_preamble.sfp_version;
}
@@ -1067,8 +1061,7 @@ sframe_decoder_get_flags (sframe_decoder_ctx *dctx)
int8_t
sframe_decoder_get_fixed_fp_offset (sframe_decoder_ctx *ctx)
{
- sframe_header *dhp;
- dhp = sframe_decoder_get_header (ctx);
+ const sframe_header *dhp = sframe_decoder_get_header (ctx);
return dhp->sfh_cfa_fixed_fp_offset;
}
@@ -1076,8 +1069,7 @@ sframe_decoder_get_fixed_fp_offset (sframe_decoder_ctx *ctx)
int8_t
sframe_decoder_get_fixed_ra_offset (sframe_decoder_ctx *ctx)
{
- sframe_header *dhp;
- dhp = sframe_decoder_get_header (ctx);
+ const sframe_header *dhp = sframe_decoder_get_header (ctx);
return dhp->sfh_cfa_fixed_ra_offset;
}
@@ -1111,14 +1103,13 @@ static sframe_func_desc_entry *
sframe_get_funcdesc_with_addr_internal (sframe_decoder_ctx *ctx, int32_t addr,
int *errp, uint32_t *func_idx)
{
- sframe_header *dhp;
sframe_func_desc_entry *fdp;
int low, high;
if (ctx == NULL)
return sframe_ret_set_errno (errp, SFRAME_ERR_INVAL);
- dhp = sframe_decoder_get_header (ctx);
+ const sframe_header *dhp = sframe_decoder_get_header (ctx);
if (dhp == NULL || dhp->sfh_num_fdes == 0 || ctx->sfd_funcdesc == NULL)
return sframe_ret_set_errno (errp, SFRAME_ERR_DCTX_INVAL);
@@ -1243,8 +1234,7 @@ uint32_t
sframe_decoder_get_num_fidx (sframe_decoder_ctx *ctx)
{
uint32_t num_fdes = 0;
- sframe_header *dhp = NULL;
- dhp = sframe_decoder_get_header (ctx);
+ const sframe_header *dhp = sframe_decoder_get_header (ctx);
if (dhp)
num_fdes = dhp->sfh_num_fdes;
return num_fdes;
@@ -1473,8 +1463,7 @@ sframe_encoder_free (sframe_encoder_ctx **encoder)
unsigned int
sframe_encoder_get_hdr_size (sframe_encoder_ctx *encoder)
{
- sframe_header *ehp;
- ehp = sframe_encoder_get_header (encoder);
+ const sframe_header *ehp = sframe_encoder_get_header (encoder);
return sframe_get_hdr_size (ehp);
}
@@ -1484,8 +1473,7 @@ uint8_t
sframe_encoder_get_abi_arch (sframe_encoder_ctx *encoder)
{
uint8_t abi_arch = 0;
- sframe_header *ehp;
- ehp = sframe_encoder_get_header (encoder);
+ const sframe_header *ehp = sframe_encoder_get_header (encoder);
if (ehp)
abi_arch = ehp->sfh_abi_arch;
return abi_arch;
@@ -1496,8 +1484,7 @@ sframe_encoder_get_abi_arch (sframe_encoder_ctx *encoder)
uint8_t
sframe_encoder_get_version (sframe_encoder_ctx *encoder)
{
- sframe_header *ehp;
- ehp = sframe_encoder_get_header (encoder);
+ const sframe_header *ehp = sframe_encoder_get_header (encoder);
return ehp->sfh_preamble.sfp_version;
}
@@ -1517,8 +1504,7 @@ uint32_t
sframe_encoder_get_num_fidx (sframe_encoder_ctx *encoder)
{
uint32_t num_fdes = 0;
- sframe_header *ehp = NULL;
- ehp = sframe_encoder_get_header (encoder);
+ const sframe_header *ehp = sframe_encoder_get_header (encoder);
if (ehp)
num_fdes = ehp->sfh_num_fdes;
return num_fdes;
--
2.43.0
More information about the Binutils
mailing list