rtos: Fix constness of struct rtos_type 80/6680/4
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Mon, 8 Nov 2021 18:35:27 +0000 (19:35 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 28 Jan 2023 15:52:25 +0000 (15:52 +0000)
Change-Id: Iaa89f2ff4036c23f944ffb4f37fe0c7afaf5069b
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6680
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/rtos/FreeRTOS.c
src/rtos/chibios.c
src/rtos/embKernel.c
src/rtos/mqx.c
src/rtos/nuttx.c
src/rtos/rtos.c
src/rtos/zephyr.c

index 945c4b875c59fd05f9ccd8c68dd8c7f49924d034..070275f2c5f4febdc640696f7e4ec70019ce1753 100644 (file)
@@ -80,7 +80,7 @@ static int freertos_get_thread_reg_list(struct rtos *rtos, int64_t thread_id,
                struct rtos_reg **reg_list, int *num_regs);
 static int freertos_get_symbol_list_to_lookup(struct symbol_table_elem *symbol_list[]);
 
-struct rtos_type freertos_rtos = {
+const struct rtos_type freertos_rtos = {
        .name = "FreeRTOS",
 
        .detect_rtos = freertos_detect_rtos,
index 8319cc883cf3fd88d227fc35ccba69611ff94dc1..68fe8a14c99b0e92f05109bdb0e1c5728a338444 100644 (file)
@@ -97,7 +97,7 @@ static int chibios_get_thread_reg_list(struct rtos *rtos, int64_t thread_id,
                struct rtos_reg **reg_list, int *num_regs);
 static int chibios_get_symbol_list_to_lookup(struct symbol_table_elem *symbol_list[]);
 
-struct rtos_type chibios_rtos = {
+const struct rtos_type chibios_rtos = {
        .name = "chibios",
 
        .detect_rtos = chibios_detect_rtos,
index c1b5723fcee1e500abe0578f49abf604688faffb..a03b039e0cf7f489bddaa70a1a656dcb728f42b6 100644 (file)
@@ -27,7 +27,7 @@ static int embkernel_get_thread_reg_list(struct rtos *rtos, int64_t thread_id,
                struct rtos_reg **reg_list, int *num_regs);
 static int embkernel_get_symbol_list_to_lookup(struct symbol_table_elem *symbol_list[]);
 
-struct rtos_type embkernel_rtos = {
+const struct rtos_type embkernel_rtos = {
                .name = "embKernel",
                .detect_rtos = embkernel_detect_rtos,
                .create = embkernel_create,
index 8d483ed3bf17659871e5e27df9deeffad0a8d09f..d9b694282ae1db43fa2a7b56d76d46e4c57b23e5 100644 (file)
@@ -498,7 +498,7 @@ static int mqx_get_symbol_list_to_lookup(struct symbol_table_elem *symbol_list[]
        return ERROR_OK;
 }
 
-struct rtos_type mqx_rtos = {
+const struct rtos_type mqx_rtos = {
        .name = "mqx",
        .detect_rtos = mqx_detect_rtos,
        .create = mqx_create,
index 993ff84bde8119c4c478941faf1e2ff2b661b2ec..78271181e2e13bcfb43c98d883e4c7f57323a483 100644 (file)
@@ -324,7 +324,7 @@ static int nuttx_get_symbol_list_to_lookup(struct symbol_table_elem *symbol_list
        return 0;
 }
 
-struct rtos_type nuttx_rtos = {
+const struct rtos_type nuttx_rtos = {
        .name = "nuttx",
        .detect_rtos = nuttx_detect_rtos,
        .create = nuttx_create,
index bcd556a7bf1796a3a4d6f2c16e60a02a72a7efdc..f1e8956a382d71d801ce5ecfc9c5aac13bc6e244 100644 (file)
 #include "server/gdb_server.h"
 
 /* RTOSs */
-extern struct rtos_type freertos_rtos;
-extern struct rtos_type threadx_rtos;
-extern struct rtos_type ecos_rtos;
-extern struct rtos_type linux_rtos;
-extern struct rtos_type chibios_rtos;
-extern struct rtos_type chromium_ec_rtos;
-extern struct rtos_type embkernel_rtos;
-extern struct rtos_type mqx_rtos;
-extern struct rtos_type ucos_iii_rtos;
-extern struct rtos_type nuttx_rtos;
-extern struct rtos_type hwthread_rtos;
-extern struct rtos_type riot_rtos;
-extern struct rtos_type zephyr_rtos;
-extern struct rtos_type rtkernel_rtos;
-
-static struct rtos_type *rtos_types[] = {
+extern const struct rtos_type freertos_rtos;
+extern const struct rtos_type threadx_rtos;
+extern const struct rtos_type ecos_rtos;
+extern const struct rtos_type linux_rtos;
+extern const struct rtos_type chibios_rtos;
+extern const struct rtos_type chromium_ec_rtos;
+extern const struct rtos_type embkernel_rtos;
+extern const struct rtos_type mqx_rtos;
+extern const struct rtos_type ucos_iii_rtos;
+extern const struct rtos_type nuttx_rtos;
+extern const struct rtos_type hwthread_rtos;
+extern const struct rtos_type riot_rtos;
+extern const struct rtos_type zephyr_rtos;
+extern const struct rtos_type rtkernel_rtos;
+
+static const struct rtos_type *rtos_types[] = {
        &threadx_rtos,
        &freertos_rtos,
        &ecos_rtos,
@@ -70,7 +70,7 @@ static int rtos_target_for_threadid(struct connection *connection, int64_t threa
        return ERROR_OK;
 }
 
-static int os_alloc(struct target *target, struct rtos_type *ostype)
+static int os_alloc(struct target *target, const struct rtos_type *ostype)
 {
        struct rtos *os = target->rtos = calloc(1, sizeof(struct rtos));
 
@@ -100,7 +100,7 @@ static void os_free(struct target *target)
        target->rtos = NULL;
 }
 
-static int os_alloc_create(struct target *target, struct rtos_type *ostype)
+static int os_alloc_create(struct target *target, const struct rtos_type *ostype)
 {
        int ret = os_alloc(target, ostype);
 
@@ -683,7 +683,7 @@ int rtos_generic_stack_read(struct target *target,
 static int rtos_try_next(struct target *target)
 {
        struct rtos *os = target->rtos;
-       struct rtos_type **type = rtos_types;
+       const struct rtos_type **type = rtos_types;
 
        if (!os)
                return 0;
index b00b4b3418fcf61550da1083c670233b5c502668..934a8dd1cc4420efb9b8fe4dedc5bd59ffe6ba01 100644 (file)
@@ -785,7 +785,7 @@ static int zephyr_get_symbol_list_to_lookup(struct symbol_table_elem **symbol_li
        return ERROR_OK;
 }
 
-struct rtos_type zephyr_rtos = {
+const struct rtos_type zephyr_rtos = {
        .name = "Zephyr",
 
        .detect_rtos = zephyr_detect_rtos,

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)