This is an automated email from Gerrit.

"Evgeniy Naydanov <evgeniy.nayda...@syntacore.com>" just uploaded a new patch 
set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/8093

-- gerrit

commit 1d11122e892c7c57f54730ee7e45ad49fcbb32ef
Author: Evgeniy Naydanov <evgeniy.nayda...@syntacore.com>
Date:   Fri Jan 12 16:29:32 2024 +0300

    target: get_gdb_arch() accepts target via const pointer
    
    The function in question does not need to change target state. It is a
    target-type-dependant function, however, IMHO, it is safe to assume that
    any target type would not need to change type-independant state of a
    target to figure out the arch.
    
    Change-Id: I607cb3aee6529cd5a97bc1200a0226cf6ef43caf
    Signed-off-by: Evgeniy Naydanov <evgeniy.nayda...@syntacore.com>

diff --git a/src/target/arm.h b/src/target/arm.h
index d5053afb81..486666b5c6 100644
--- a/src/target/arm.h
+++ b/src/target/arm.h
@@ -257,7 +257,7 @@ struct arm {
 };
 
 /** Convert target handle to generic ARM target state handle. */
-static inline struct arm *target_to_arm(struct target *target)
+static inline struct arm *target_to_arm(const struct target *target)
 {
        assert(target);
        return target->arch_info;
@@ -293,11 +293,11 @@ extern const struct command_registration 
arm_command_handlers[];
 extern const struct command_registration arm_all_profiles_command_handlers[];
 
 int arm_arch_state(struct target *target);
-const char *arm_get_gdb_arch(struct target *target);
+const char *arm_get_gdb_arch(const struct target *target);
 int arm_get_gdb_reg_list(struct target *target,
                struct reg **reg_list[], int *reg_list_size,
                enum target_register_class reg_class);
-const char *armv8_get_gdb_arch(struct target *target);
+const char *armv8_get_gdb_arch(const struct target *target);
 int armv8_get_gdb_reg_list(struct target *target,
                struct reg **reg_list[], int *reg_list_size,
                enum target_register_class reg_class);
diff --git a/src/target/armv4_5.c b/src/target/armv4_5.c
index 7debb94984..1886d5e1f6 100644
--- a/src/target/armv4_5.c
+++ b/src/target/armv4_5.c
@@ -1264,7 +1264,7 @@ const struct command_registration arm_command_handlers[] 
= {
  * same way as a gdb for arm. This can be changed later on. User can still
  * set the specific architecture variant with the gdb command.
  */
-const char *arm_get_gdb_arch(struct target *target)
+const char *arm_get_gdb_arch(const struct target *target)
 {
        return "arm";
 }
diff --git a/src/target/armv8.c b/src/target/armv8.c
index daf1ffca38..bf582ff801 100644
--- a/src/target/armv8.c
+++ b/src/target/armv8.c
@@ -1865,7 +1865,7 @@ const struct command_registration 
armv8_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-const char *armv8_get_gdb_arch(struct target *target)
+const char *armv8_get_gdb_arch(const struct target *target)
 {
        struct arm *arm = target_to_arm(target);
        return arm->core_state == ARM_STATE_AARCH64 ? "aarch64" : "arm";
diff --git a/src/target/esirisc.c b/src/target/esirisc.c
index 561edb255a..c9ac1d606c 100644
--- a/src/target/esirisc.c
+++ b/src/target/esirisc.c
@@ -1248,7 +1248,7 @@ static int esirisc_arch_state(struct target *target)
        return ERROR_OK;
 }
 
-static const char *esirisc_get_gdb_arch(struct target *target)
+static const char *esirisc_get_gdb_arch(const struct target *target)
 {
        struct esirisc_common *esirisc = target_to_esirisc(target);
 
diff --git a/src/target/esirisc.h b/src/target/esirisc.h
index 7496b1eda7..6f8cd14722 100644
--- a/src/target/esirisc.h
+++ b/src/target/esirisc.h
@@ -106,7 +106,7 @@ struct esirisc_reg {
        int (*write)(struct reg *reg);
 };
 
-static inline struct esirisc_common *target_to_esirisc(struct target *target)
+static inline struct esirisc_common *target_to_esirisc(const struct target 
*target)
 {
        return (struct esirisc_common *)target->arch_info;
 }
diff --git a/src/target/mem_ap.c b/src/target/mem_ap.c
index 50dc91c7b7..5c81e3a75f 100644
--- a/src/target/mem_ap.c
+++ b/src/target/mem_ap.c
@@ -182,7 +182,7 @@ static struct reg_arch_type mem_ap_reg_arch_type = {
        .set = mem_ap_reg_set,
 };
 
-static const char *mem_ap_get_gdb_arch(struct target *target)
+static const char *mem_ap_get_gdb_arch(const struct target *target)
 {
        return "arm";
 }
diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c
index cb8d04f201..d895ca3726 100644
--- a/src/target/riscv/riscv.c
+++ b/src/target/riscv/riscv.c
@@ -1744,7 +1744,7 @@ static int riscv_write_memory(struct target *target, 
target_addr_t address,
        return tt->write_memory(target, address, size, count, buffer);
 }
 
-static const char *riscv_get_gdb_arch(struct target *target)
+static const char *riscv_get_gdb_arch(const struct target *target)
 {
        switch (riscv_xlen(target)) {
                case 32:
diff --git a/src/target/stm8.c b/src/target/stm8.c
index ad4a452981..227101b6f0 100644
--- a/src/target/stm8.c
+++ b/src/target/stm8.c
@@ -1158,7 +1158,7 @@ static int stm8_write_core_reg(struct target *target, 
unsigned int num)
        return ERROR_OK;
 }
 
-static const char *stm8_get_gdb_arch(struct target *target)
+static const char *stm8_get_gdb_arch(const struct target *target)
 {
        return "stm8";
 }
diff --git a/src/target/target.c b/src/target/target.c
index 244a5bf7dc..de95f6398d 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1362,7 +1362,7 @@ int target_hit_watchpoint(struct target *target,
        return target->type->hit_watchpoint(target, hit_watchpoint);
 }
 
-const char *target_get_gdb_arch(struct target *target)
+const char *target_get_gdb_arch(const struct target *target)
 {
        if (!target->type->get_gdb_arch)
                return NULL;
diff --git a/src/target/target.h b/src/target/target.h
index bd01f5eb68..1713448ce8 100644
--- a/src/target/target.h
+++ b/src/target/target.h
@@ -501,7 +501,7 @@ int target_hit_watchpoint(struct target *target,
  *
  * This routine is a wrapper for target->type->get_gdb_arch.
  */
-const char *target_get_gdb_arch(struct target *target);
+const char *target_get_gdb_arch(const struct target *target);
 
 /**
  * Obtain the registers for GDB.
diff --git a/src/target/target_type.h b/src/target/target_type.h
index 678ce0f466..bc42c2d16e 100644
--- a/src/target/target_type.h
+++ b/src/target/target_type.h
@@ -83,7 +83,7 @@ struct target_type {
         * if dynamic allocation is used for this value, it must be managed by
         * the target, ideally by caching the result for subsequent calls.
         */
-       const char *(*get_gdb_arch)(struct target *target);
+       const char *(*get_gdb_arch)(const struct target *target);
 
        /**
         * Target register access for GDB.  Do @b not call this function
diff --git a/src/target/xtensa/xtensa.c b/src/target/xtensa/xtensa.c
index d2ca32c1d1..90bbce8e1c 100644
--- a/src/target/xtensa/xtensa.c
+++ b/src/target/xtensa/xtensa.c
@@ -3428,7 +3428,7 @@ void xtensa_target_deinit(struct target *target)
        free(xtensa->core_config);
 }
 
-const char *xtensa_get_gdb_arch(struct target *target)
+const char *xtensa_get_gdb_arch(const struct target *target)
 {
        return "xtensa";
 }
diff --git a/src/target/xtensa/xtensa.h b/src/target/xtensa/xtensa.h
index 3b37122d6b..f5dbb30168 100644
--- a/src/target/xtensa/xtensa.h
+++ b/src/target/xtensa/xtensa.h
@@ -421,7 +421,7 @@ int xtensa_run_algorithm(struct target *target,
        target_addr_t entry_point, target_addr_t exit_point,
        unsigned int timeout_ms, void *arch_info);
 void xtensa_set_permissive_mode(struct target *target, bool state);
-const char *xtensa_get_gdb_arch(struct target *target);
+const char *xtensa_get_gdb_arch(const struct target *target);
 int xtensa_gdb_query_custom(struct target *target, const char *packet, char 
**response_p);
 
 COMMAND_HELPER(xtensa_cmd_xtdef_do, struct xtensa *xtensa);

-- 

Reply via email to