From 37196092a69e7ae0fbb9fd209b0f6c6595a9e821 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 30 Nov 2025 14:33:31 +0000 Subject: [PATCH 1/3] Initial plan From 7a9a76c976f498e351980a01808c4fbc68774a8d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 30 Nov 2025 14:42:58 +0000 Subject: [PATCH 2/3] Fix DMOD_ENABLE_REGISTRATION multiple definition issue - Modified dmlist.c to use DMOD_EXTERNAL_REGISTRATION guard - Uncommented DMOD_ENABLE_REGISTRATION in main.c When DMOD_EXTERNAL_REGISTRATION is defined (as in dmboot), dmlist.c will not define DMOD_ENABLE_REGISTRATION, avoiding multiple definition errors. Registration is handled by main.c instead. Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com> --- src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 41968b7..5fcb205 100644 --- a/src/main.c +++ b/src/main.c @@ -1,4 +1,4 @@ -// #define DMOD_ENABLE_REGISTRATION +#define DMOD_ENABLE_REGISTRATION #include #include "dmod.h" #include "dmlog.h" From f79d1a8a6d810fe887780214e51f196577f74e1e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 30 Nov 2025 14:46:20 +0000 Subject: [PATCH 3/3] Add DMOD_EXTERNAL_REGISTRATION support for dmlist - Pass DMOD_EXTERNAL_REGISTRATION compile definition to dmlist target - Update dmlist submodule with guard to prevent multiple registrations This enables main.c to handle all registrations when DMOD_ENABLE_REGISTRATION is defined, avoiding multiple definition linker errors. Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com> --- lib/CMakeLists.txt | 7 +++++++ lib/dmlist | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 0d5d2bf..06b3b42 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,5 +1,12 @@ add_subdirectory(dmod) add_subdirectory(dmlist) + +# Add DMOD_EXTERNAL_REGISTRATION definition to dmlist when enabled +# This allows dmlist to properly handle registration in the dmboot context +if(DMOD_EXTERNAL_REGISTRATION) + target_compile_definitions(dmlist PRIVATE DMOD_EXTERNAL_REGISTRATION) +endif() + add_subdirectory(dmlog) add_subdirectory(dmheap) add_subdirectory(dmvfs) diff --git a/lib/dmlist b/lib/dmlist index c5a3143..0e4e9e4 160000 --- a/lib/dmlist +++ b/lib/dmlist @@ -1 +1 @@ -Subproject commit c5a3143598fa636c376a93f1254f4a749605cf09 +Subproject commit 0e4e9e48ae6ff80c990f5cc96880bd523d5cdcf9