diff --git a/lib/console/console.c b/lib/console/console.c index efa4262b..63fe3301 100644 --- a/lib/console/console.c +++ b/lib/console/console.c @@ -72,8 +72,8 @@ static cmd_block *command_list = NULL; /* a linear array of statically defined command blocks, defined in the linker script. */ -extern cmd_block __commands_start; -extern cmd_block __commands_end; +extern cmd_block __start_commands __WEAK; +extern cmd_block __stop_commands __WEAK; static int cmd_help(int argc, const cmd_args *argv); static int cmd_help_panic(int argc, const cmd_args *argv); @@ -108,8 +108,7 @@ int console_init(void) { mutex_init(command_lock); /* add all the statically defined commands to the list */ - cmd_block *block; - for (block = &__commands_start; block != &__commands_end; block++) { + for (cmd_block *block = &__start_commands; block != &__stop_commands; block++) { console_register_commands(block); } diff --git a/lib/console/console.ld b/lib/console/console.ld deleted file mode 100644 index f657cc14..00000000 --- a/lib/console/console.ld +++ /dev/null @@ -1,8 +0,0 @@ -SECTIONS { - .commands : { - __commands_start = .; - KEEP (*(.commands)) - __commands_end = .; - } -} -INSERT AFTER .data; diff --git a/lib/console/rules.mk b/lib/console/rules.mk index d4b93c0c..af44f0ae 100644 --- a/lib/console/rules.mk +++ b/lib/console/rules.mk @@ -5,6 +5,4 @@ MODULE := $(LOCAL_DIR) MODULE_SRCS += \ $(LOCAL_DIR)/console.c -EXTRA_LINKER_SCRIPTS += $(LOCAL_DIR)/console.ld - include make/module.mk diff --git a/top/include/lk/console_cmd.h b/top/include/lk/console_cmd.h index dccdc92b..d24d2ddf 100644 --- a/top/include/lk/console_cmd.h +++ b/top/include/lk/console_cmd.h @@ -49,13 +49,13 @@ typedef struct _cmd_block { #define STATIC_COMMAND_START static const cmd _cmd_list[] = { -#define STATIC_COMMAND_END(name) }; cmd_block _cmd_block_##name __ALIGNED(sizeof(void *)) __SECTION(".commands") = \ +#define STATIC_COMMAND_END(name) }; cmd_block _cmd_block_##name __ALIGNED(sizeof(void *)) __SECTION("commands") = \ { NULL, sizeof(_cmd_list) / sizeof(_cmd_list[0]), _cmd_list } /* same as above but with a suffixed name to make the list unique within the file */ #define STATIC_COMMAND_START_NAMED(name) static const cmd _cmd_list_##name[] = { -#define STATIC_COMMAND_END_NAMED(name) }; cmd_block _cmd_block_##name __ALIGNED(sizeof(void *)) __SECTION(".commands") = \ +#define STATIC_COMMAND_END_NAMED(name) }; cmd_block _cmd_block_##name __ALIGNED(sizeof(void *)) __SECTION("commands") = \ { NULL, sizeof(_cmd_list_##name) / sizeof(_cmd_list_##name[0]), _cmd_list_##name } #define STATIC_COMMAND(command_str, help_str, func) { command_str, help_str, func, CMD_AVAIL_NORMAL },