sim: model: constify sim_machs storage

The array of pointers is never modified, so mark it const so it ends
up in the read-only data section.
This commit is contained in:
Mike Frysinger
2021-06-27 01:26:30 -04:00
parent aa2e84dee6
commit ba9666525f
21 changed files with 60 additions and 15 deletions

View File

@@ -1,3 +1,12 @@
2021-06-29 Mike Frysinger <vapier@gentoo.org>
* sim-model.c (model_option_handler): Make machp const.
(sim_model_lookup): Likewise.
(sim_mach_lookup): Likewise.
(sim_mach_lookup_bfd_name): Likewise.
(sim_machs): Add const.
* sim-model.h (sim_machs): Likewise.
2021-06-29 Mike Frysinger <vapier@gentoo.org>
* sim-io.h (sim_io_vprintf): Add ATTRIBUTE_PRINTF.

View File

@@ -74,7 +74,7 @@ model_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
case OPTION_MODEL_INFO :
{
const SIM_MACH **machp;
const SIM_MACH * const *machp;
const SIM_MODEL *model;
for (machp = & sim_machs[0]; *machp != NULL; ++machp)
{
@@ -140,7 +140,7 @@ sim_model_set (SIM_DESC sd, sim_cpu *cpu, const SIM_MODEL *model)
const SIM_MODEL *
sim_model_lookup (const char *name)
{
const SIM_MACH **machp;
const SIM_MACH * const *machp;
const SIM_MODEL *model;
for (machp = & sim_machs[0]; *machp != NULL; ++machp)
@@ -160,7 +160,7 @@ sim_model_lookup (const char *name)
const SIM_MACH *
sim_mach_lookup (const char *name)
{
const SIM_MACH **machp;
const SIM_MACH * const *machp;
for (machp = & sim_machs[0]; *machp != NULL; ++machp)
{
@@ -176,7 +176,7 @@ sim_mach_lookup (const char *name)
const SIM_MACH *
sim_mach_lookup_bfd_name (const char *name)
{
const SIM_MACH **machp;
const SIM_MACH * const *machp;
for (machp = & sim_machs[0]; *machp != NULL; ++machp)
{
@@ -251,7 +251,7 @@ sim_model_init (SIM_DESC sd)
#if !WITH_MODEL_P
/* Set up basic model support. This is a stub for ports that do not define
models. See sim-model.h for more details. */
const SIM_MACH *sim_machs[] =
const SIM_MACH * const sim_machs[] =
{
NULL
};

View File

@@ -140,7 +140,7 @@ typedef struct model {
/* ??? In a simulator of multiple architectures, will need multiple copies of
this. Have an `archs' array that contains a pointer to the machs array
for each (which in turn has a pointer to the models array for each). */
extern const SIM_MACH *sim_machs[];
extern const SIM_MACH * const sim_machs[];
/* Model module handlers. */
extern MODULE_INSTALL_FN sim_model_install;