Page MenuHomeSolus

Update avr-gcc to 8.5.0
ClosedPublic

Authored by chax on Jun 6 2023, 3:04 AM.
Tags
None
Referenced Files
F11006849: D14188.diff
Tue, Aug 1, 5:15 PM
F10960281: D14188.diff
Tue, Jul 18, 10:44 AM
F10933621: D14188.id34572.diff
Wed, Jul 12, 7:58 AM
F10926327: D14188.diff
Mon, Jul 10, 12:06 PM
F10894885: D14188.id34558.diff
Jul 1 2023, 1:24 PM
F10889500: D14188.diff
Jun 27 2023, 11:35 PM
F10877049: D14188.id34558.diff
Jun 20 2023, 3:28 PM
F10865527: D14188.id34572.diff
Jun 17 2023, 12:00 PM

Details

Summary

Update avr-gcc to 8.5.0

Test Plan

Built firmware for avr device, used QMK as source to test building using avr toolchain (binutils, gcc, libc)

Diff Detail

Repository
R4751 avr-gcc
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

chax requested review of this revision.Jun 6 2023, 3:04 AM

Is there a reason for updating this to 8.5.0 instead of 12.2.0 12.3?

I believe there is a known bug that causes a relative massive increase in code size with newer gcc versions which makes it difficult to fit binaries on small ECs and the like.

I believe there is a known bug that causes a relative massive increase in code size with newer gcc versions which makes it difficult to fit binaries on small ECs and the like.

If we're talking about the same bug (this one) it should be fixed for GCC 12.3+.

I believe there is a known bug that causes a relative massive increase in code size with newer gcc versions which makes it difficult to fit binaries on small ECs and the like.

If we're talking about the same bug (this one) it should be fixed for GCC 12.3+.

Awesome, we'll leave it up to chax to make sure it's all good then

Yes, that bug was fixed but QMK can't be built with avr-gcc newer than 8.x, so i decided to stay on that branch an use latest release from that branch. Of course QMK is not the only thing people use this toolchain for but updating it would definitely break it for QMK users. On the other hand older microcontroller code would also need to be adjusted to work with newer gcc compiler so it would break it for those users also. Currently i don't see any harm in keeping it on 8.x branch but i do in updating to latest 13.x branch.

In D14188#243361, @chax wrote:

Yes, that bug was fixed but QMK can't be built with avr-gcc newer than 8.x, so i decided to stay on that branch an use latest release from that branch. Of course QMK is not the only thing people use this toolchain for but updating it would definitely break it for QMK users. On the other hand older microcontroller code would also need to be adjusted to work with newer gcc compiler so it would break it for those users also. Currently i don't see any harm in keeping it on 8.x branch but i do in updating to latest 13.x branch.

I don't see any harm either, especially as many (most?) distros are still rocking 5.4.0 😅.

Thanks for the update and explanation, LGTM!

This revision is now accepted and ready to land.Jun 7 2023, 8:35 PM
This revision was automatically updated to reflect the committed changes.