Skip to content
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

build: Update to gcc10 #3752

Merged
merged 12 commits into from Dec 17, 2020
Merged

build: Update to gcc10 #3752

merged 12 commits into from Dec 17, 2020

Conversation

jepler
Copy link
Member

@jepler jepler commented Nov 24, 2020

No description provided.

@dhalbert dhalbert changed the title build: Update to gcc10 preview build: Update to gcc10 Dec 14, 2020
@dhalbert
Copy link
Collaborator

@dhalbert dhalbert linked an issue Dec 14, 2020 that may be closed by this pull request
@dhalbert
Copy link
Collaborator

The SAMD51 builds I think that use -O2 are all much too large now, so I think they will need to be rolled back to -Os. There is some improvement on at least some of the -Os builds. For example qtpy_m0 de_DE had 196 bytes free and now has 692.

@dhalbert
Copy link
Collaborator

As of gcc 10: -finline-functions is now enabled at -O2 (https://gcc.gnu.org/gcc-10/changes.html). This may explain the large growth of -O2 compiles.

jepler and others added 5 commits December 15, 2020 09:58
This resolves the build error
```
arm-none-eabi-ld: build-spresense/libmpy.a(Camera.o):(.rodata.camera_imageformat_type+0x0): multiple definition of `camera_imageformat_type'; build-spresense/libmpy.a(__init__.o):(.rodata.camera_imageformat_type+0x0): first defined here
arm-none-eabi-ld: build-spresense/libmpy.a(ImageFormat.o):(.rodata.camera_imageformat_type+0x0): multiple definition of `camera_imageformat_type'; build-spresense/libmpy.a(__init__.o):(.rodata.camera_imageformat_type+0x0): first defined here
arm-none-eabi-ld: build-spresense/libmpy.a(Camera.o):(.rodata.camera_imageformat_type+0x0): multiple definition of `camera_imageformat_type'; build-spresense/libmpy.a(__init__.o):(.rodata.camera_imageformat_type+0x0): first defined here
```
@dhalbert dhalbert marked this pull request as ready for review December 15, 2020 20:04
@dhalbert
Copy link
Collaborator

This is now working on all builds. @tannewt and @jepler I am OK with going to gcc 10 for main now, if you are. Thanks Jeff for the joint work on all the issues this brought up.

@dhalbert
Copy link
Collaborator

@hierophect Take note too. This will not affect the ESP32-S2 builds, since they have their own toolchain, but the STM builds would change.

@hierophect
Copy link
Collaborator

@dhalbert noted. What steps in particular are required? I assume I'll want to go back into my notes to reinstall the toolchain, and are all the makefiles changing as well? A list of upgrade steps might be beneficial to all.

@jerryneedell
Copy link
Collaborator

jerryneedell commented Dec 15, 2020

FYI -- for the Raspberry Pi aficionados, I am compiling a toolchain for the Raspberry Pi -- takes about 8 hours -- it's 4 hours into it ... if it succeed,, I'll make it available as I have in the past. Hopefully soon after it is merged into main and I have a chance to test it.

@jerryneedell
Copy link
Collaborator

I am testing this PR with My Raspberry Pi build -- I noticed the when I switch to this PR there are some changes made to the underlying repo
port/esp32s2/certificates/nisn-fw is attempted to be deleted
frozen/Adafruit_CircuitPython_Requests
and
lib/tinyusb
are modified
Are any of those concerns?

I was able to build the atmel-samd/matrixportal_m4 with my newly compiled gcc-10 so I think the compiler is OK

@dhalbert
Copy link
Collaborator

I am testing this PR with My Raspberry Pi build -- I noticed the when I switch to this PR there are some changes made to the underlying repo

This PR was started quite a while ago, so working at that commit does not include a bunch of changes. The PR test merge commits are more interesting.

@jerryneedell
Copy link
Collaborator

@dhalbert OK -- I don't think there is any problem - just want to be sure I understood. My new compiler seem OK on the Pi and Jeff has made it available to anyone who wants it. Ready when this gets merged.

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.

I'm ok with this! Thanks for doing the final switch.

@dhalbert
Copy link
Collaborator

I think the next step is to do some smoke tests with gcc10 firmware buildsand see that they work on some sample programs. Then we can notify @ circuitpythonistas, and also I will update the Building CircuitPython guide.

@dhalbert
Copy link
Collaborator

I did some smoke tests and am satisfied.

@dhalbert dhalbert merged commit 8f9cd70 into adafruit:main Dec 17, 2020
@jepler jepler deleted the gcc10 branch November 3, 2021 21:09
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.

Use gcc10 eventually
5 participants