Skip to content

Conversation

@mark9064
Copy link
Member

@mark9064 mark9064 commented Jun 27, 2025

First commit fixes build for GCC 14

Second one adds nano specs to the compiler flags (needed as it sets compiler options) and uses nosys specs rather than linking manually. This made the group entries redundant also. Nice explanation of the spec files: https://metebalci.com/blog/demystifying-arm-gnu-toolchain-specs-nano-and-nosys/

@github-actions
Copy link

Build size and comparison to main:

Section Size Difference
text 379112B -16B
data 948B 0B
bss 22536B 0B

Run in InfiniEmu

@mark9064 mark9064 added the maintenance Background work label Jun 27, 2025
@mark9064 mark9064 added this to the 1.16.0 milestone Jun 27, 2025
@shaleh
Copy link

shaleh commented Sep 16, 2025

Why does GCC14 matter when we are using a much older ARM cross compiler chain? Or is this an attempt to move the cross compile chain to a more recent version?

@mark9064
Copy link
Member Author

Yeah exactly, this enables us to upgrade the compiler later. Also it's more semantically correct anyway, so it's a win-win

Copy link
Collaborator

@JF002 JF002 left a comment

Choose a reason for hiding this comment

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

Great, thank you for those changes! Are there any other change needed before we can upgrade the compiler?

@mark9064
Copy link
Member Author

mark9064 commented Nov 4, 2025

No other changes I think. Been using GCC 14.2 locally without problems (14.3 out now but should be fine as well)

@mark9064
Copy link
Member Author

mark9064 commented Nov 4, 2025

One exception: newer compilers generate the linker warnings about the function stubs. These stubs are later removed by linker stripping as they're unused, but there's no way to disable the warning without either:

  • Shipping our own stubs without warnings
  • Removing the warnings directly from the .a being linked against (one liner command that needs to be run once for each compiler install)
  • Doing some shell scripting on the linker output to cut the warnings out

or we could just put up with them

@mark9064 mark9064 merged commit ab0ba1b into InfiniTimeOrg:main Nov 6, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Background work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants