-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Reduce firmware size on gemma m0, trinket m0 #3230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: CircuitPython/main Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
I first noticed this on the weblate PR but it's affecting the main branch already as well. |
Failing main branch build: https://github.com/adafruit/circuitpython/runs/927877015?check_suite_focus=true |
Is it really necessary to only make the change for these translations? Why not just do it for all languages? |
The inline limit change makes the code slower, so if we can avoid this some of the time, it's probably better. |
Thanks. That's what i figured. I just hope we never run into issues that only occur in these translations! |
We could switch to GCC10 instead. I think we have everything in-place to do it. |
I've uploaded the preview gcc10 toolchain from arm here:
|
@jepler Did you see the discussion on dropping bitbangio on tiny M0 builds to make space and some mild refactoring it would need? |
@dhalbert bitbangio is already disabled on those ports, it's only in FULL_BUILD. Looks like trinket_m0 still didn't fit with these changes. Weird, it passed locally. Did I fail to build with the language I intended? There were also some spurious-or-preexisting failures of xtensa:
|
This command will print the routine sizes in the .elf file, sorted with largest first: arm-none-eabi-nm --print-size --size-sort --reverse-sort --radix=d firmware.elf The smallest builds still have |
Setting |
|
I think that before we start dropping things (I know we have already started), we should think about the actual use cases we want supported. For example, pulseio is required for IRremote, and I think that gemma m0 and trinket m0 are perfect for that. |
I don't see any evidence of RELEASE_NEEDS_CLEAN_BUILD actually being set. Does this mean that we're not actually building these translations with the expected CFLAGS? |
That sounds like a bug! But I wonder why it worked?? Could you try a commit to add that? |
I will add RELEASE_NEEDS_CLEAN_BUILD various places, and see what happens. Also I have an idea about the esp-idf builds: I will change the cache |
@jepler the only failure was an S3 upload failure, unrelated to builds, so looks good for now |
this also includes weblate's commit from #3229 that put it over the edge.