Skip to content

update to arm gcc 15.2Rel1#10825

Merged
tannewt merged 4 commits intoadafruit:mainfrom
dhalbert:gcc-15.2Rel1
Feb 18, 2026
Merged

update to arm gcc 15.2Rel1#10825
tannewt merged 4 commits intoadafruit:mainfrom
dhalbert:gcc-15.2Rel1

Conversation

@dhalbert
Copy link
Collaborator

-- Fixes #10521

Update to ARM toolchain gcc 15.2Rel1.

Note that we use our own copy of libgcc for SAMD21 builds. The one that comes with the toolchain is compiled with -O2, but using a -Os version saves about 100 bytes. @tannewt extracted it from the Arch arm-none-eabi-gcc package. That package, as of this writing, has not yet been updated to gcc 15; see https://archlinux.org/packages/extra/x86_64/arm-none-eabi-gcc/.

LIBS := libs/libgcc-14.2.0-Os-v6-m-nofp.a -lc

While trying this by hand, I saw size improvements except on on nordic, where the size was about 6kB greater, which sounds like some kind of linking problem. I will investigate that after getting everything to build properly.

@bablokb
Copy link

bablokb commented Feb 17, 2026

I will update the .devcontainer-script once this is merged.

@dhalbert
Copy link
Collaborator Author

I will update the .devcontainer-script once this is merged.

Thanks for the reminder. I forgot to look in . directories besides .github.

@dhalbert
Copy link
Collaborator Author

dhalbert commented Feb 17, 2026

For the en_US translation:

Board size change gcc 14 to gcc 15
Trinket M0 -692
Metro M4 -2260
Circuit Playground Express -960
Grand Central M4 -2124
Pi Pico -13668
Pi Pico W -18716
Pi Pico 2 -27648
Feather STM32F405 +6412
Feather nRF52840 (default optimization: -O2 -fno-inline-functions) +6112
Feather nRF52840 (default optimization: -O2) +6512
Feather nRF52840 (-Os) -1776

So it looks like the size difference is not some linking problem, but growth due to changes in the -O2 optimizer. However, we have plenty of flash to absorb that.

A long time ago in #3752 we added -fno-inline-functions to some bulds to save some space. That's probably not necessary for builds with large flash, like nRF52840, and I'll remove it. Also -ggdb3 was being added for some non-debug builds, which wasn't necessary.

@dhalbert dhalbert marked this pull request as ready for review February 17, 2026 20:09
@dhalbert dhalbert requested a review from tannewt February 17, 2026 20:09
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

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

Thank you!

@tannewt tannewt merged commit 714d8c3 into adafruit:main Feb 18, 2026
54 of 55 checks passed
@dhalbert dhalbert deleted the gcc-15.2Rel1 branch February 18, 2026 19:46
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.

Update to ARM gcc 15.2.Rel1

3 participants

Comments