-
Notifications
You must be signed in to change notification settings - Fork 377
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
Teensy 3 includes new.h, declaring cxa_guard... even with gcc11 #726
Comments
I can't help with PlatformIO. I can tell you the core library was updated in several ways to use to the new toolchain. Maybe you're got those mismatched? I'd recommend compiling your program with Arduino IDE to check. |
Dear Paul, I am sorry, but the current setup of our project is not easily allowing to switch to ArduinoIDE. Some more details to our issue that might help understanding: Looking more closely I see, that the arm-gcc in teensyduino brings along its own definition of __cxa_guard functions in libstdc++. Hence the error when the complier finds the redefinition in teensy3/new.h. Personally I can mitigate the problem by either removing the definitions in new.h or by compiling with "-fno-threadsafe-statics". However, I felt it might be useful to point to this problem, as I had the impression, it is an issue in the cores introduced by upgrading the compiler version. |
Oh, sounds like the problem is resolved, right? |
I managed to create a small example (here on github) that shows the problem when using ArduinoIDE comiling for Teensy3.6.
So in a way the issue seems to be resolved, at least for me right now. |
With the update to the new version / compiler version we receive the following error:
I am using PlatformIO for compilation. The platform version is [email protected]. While testing I have also replaced framework/cores with the current HEAD from github. While this solved other long standing problems, it did not solve the error above.
I also looked at the code here and I see that for Teensy3 Printable.h still includes new.h leading to the above error message.
Am I correct, that the guard definitions in new.h are no longer required with the new compiler?
The text was updated successfully, but these errors were encountered: