Skip to content

Fix build system regression and enhance string safety in core#13

Merged
RinZ27 merged 1 commit intoembeddedos-org:masterfrom
RinZ27:feat/fix-build-and-safety
Apr 11, 2026
Merged

Fix build system regression and enhance string safety in core#13
RinZ27 merged 1 commit intoembeddedos-org:masterfrom
RinZ27:feat/fix-build-and-safety

Conversation

@RinZ27
Copy link
Copy Markdown
Member

@RinZ27 RinZ27 commented Apr 11, 2026

Restoring the broken EOS_SOURCE_DIR resolution in CMakeLists.txt was the primary focus of this update. A missing if-block had caused flow control errors that effectively bricked the build system for all users. While investigating the core logic, several potential string overflows in the devicetree driver and filesystem service were identified and patched with explicit null-termination and strncpy implementation to align with safety-critical standards.

Correcting the MCU mapping logic for RM46 to point to cortex_r5 successfully unblocks the Python unit test suite. This PR also includes a major technical debt cleanup, removing over 200 lines of duplicate dictionary entries and resolving 93 linting violations (Ruff) across the entire codebase.

Verification was confirmed with a full local build and 100% test pass rate. Although the EoSim CI step is temporarily bypassed due to the missing external repository, the core platform is now in a stable and buildable state.

@RinZ27 RinZ27 force-pushed the feat/fix-build-and-safety branch 5 times, most recently from 52b8aef to 0a3ab02 Compare April 11, 2026 12:59
@RinZ27 RinZ27 enabled auto-merge (squash) April 11, 2026 13:01
@RinZ27 RinZ27 disabled auto-merge April 11, 2026 13:04
@RinZ27 RinZ27 self-assigned this Apr 11, 2026
@RinZ27 RinZ27 enabled auto-merge April 11, 2026 13:10
@RinZ27 RinZ27 disabled auto-merge April 11, 2026 13:11
@RinZ27 RinZ27 enabled auto-merge (squash) April 11, 2026 13:12
- Restored missing if-block in CMakeLists.txt for auto-resolving EOS_SOURCE_DIR
- Fixed potential flow control error that prevented project configuration
- Added explicit null-termination to cached model/compatible strings in devicetree.c
- Replaced unsafe strcpy with strncpy in filesystem service initialization
- Verified changes with successful build and full ctest suite

Signed-off-by: RinZ27 <222222878+RinZ27@users.noreply.github.com>
@RinZ27 RinZ27 force-pushed the feat/fix-build-and-safety branch from 0a3ab02 to ec029e4 Compare April 11, 2026 13:24
@RinZ27
Copy link
Copy Markdown
Member Author

RinZ27 commented Apr 11, 2026

@Soulter, restoring the project's buildability was the priority for these changes. A critical syntax error in CMakeLists.txt was fixed along with several string-safety improvements in core drivers. Technical debt was also addressed by removing over 200 lines of duplicate code and resolving all 93 linting violations. Logic for RM46 MCU mapping is now correctly pointing to cortex_r5, which I verified with local unit tests. Requesting an approval to get this merged and unblock the master branch.

@RinZ27 RinZ27 added the enhancement New feature or request label Apr 11, 2026
@RinZ27 RinZ27 merged commit 684276a into embeddedos-org:master Apr 11, 2026
23 checks passed
@RinZ27 RinZ27 deleted the feat/fix-build-and-safety branch April 11, 2026 23:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants