Skip to content

m-profile/gcc: Support picolibc startup mechanism#246

Merged
JonatanAntoni merged 1 commit intoARM-software:mainfrom
keith-packard:picolibc-dev
Aug 4, 2025
Merged

m-profile/gcc: Support picolibc startup mechanism#246
JonatanAntoni merged 1 commit intoARM-software:mainfrom
keith-packard:picolibc-dev

Conversation

@keith-packard
Copy link
Copy Markdown
Contributor

Use picolibc's _start function instead of providing our own.

Use picolibc's _start function instead of providing our own.

Signed-off-by: Keith Packard <keithp@keithp.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for picolibc's startup mechanism in the CMSIS GCC M-profile header by defining __PROGRAM_START to use picolibc's _start function when picolibc is detected and no custom program start is already defined.

  • Adds conditional definition of __PROGRAM_START macro for picolibc compatibility
  • Uses picolibc's built-in _start function instead of providing a custom startup implementation

@github-actions
Copy link
Copy Markdown

github-actions bot commented Aug 4, 2025

Test Results

   264 files   -   108     264 suites   - 108   0s ⏱️ - 8m 39s
    56 tests +    7      54 ✅ + 10      2 💤  -     3  0 ❌ ±0 
14 292 runs   - 3 936  12 124 ✅ +160  2 168 💤  - 4 096  0 ❌ ±0 

Results for commit 4ea1acf. ± Comparison against base commit df9173e.

This pull request removes 49 and adds 56 tests. Note that renamed tests count towards both.
CMSIS-Core.src ‑ apsr.c
CMSIS-Core.src ‑ basepri.c
CMSIS-Core.src ‑ bkpt.c
CMSIS-Core.src ‑ clrex.c
CMSIS-Core.src ‑ clz.c
CMSIS-Core.src ‑ control.c
CMSIS-Core.src ‑ cp15.c
CMSIS-Core.src ‑ cpsr.c
CMSIS-Core.src ‑ dmb.c
CMSIS-Core.src ‑ dsb.c
…
TC_CML1Cache_CleanDCacheByAddrWhileDisabled
TC_CML1Cache_EnDisableDCache
TC_CML1Cache_EnDisableICache
TC_CoreFunc_APSR
TC_CoreFunc_BASEPRI
TC_CoreFunc_Control
TC_CoreFunc_EnDisIRQ
TC_CoreFunc_EncDecIRQPrio
TC_CoreFunc_FAULTMASK
TC_CoreFunc_FPSCR
…
This pull request removes 5 skipped tests and adds 2 skipped tests. Note that renamed tests count towards both.
CMSIS-Core.src ‑ lda.c
CMSIS-Core.src ‑ ldaex.c
CMSIS-Core.src ‑ stl.c
CMSIS-Core.src ‑ stlex.c
CMSIS-Core.src ‑ systick.c
TC_CoreInstr_WFE
TC_CoreInstr_WFI

@JonatanAntoni JonatanAntoni merged commit e902f86 into ARM-software:main Aug 4, 2025
8 checks passed
keith-packard added a commit to keith-packard/CMSIS_6 that referenced this pull request Aug 4, 2025
Use picolibc's _start function instead of providing our own.

Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit e902f86)
wearyzen pushed a commit to zephyrproject-rtos/CMSIS_6 that referenced this pull request Aug 7, 2025
Use picolibc's _start function instead of providing our own.

Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit e902f86)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants