You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The esp8266 toolkit uses gcc 4.8.2 an thus it fails to parse a multiline raw String when it is passed as an argument to a macro. The same sketch as below will build without errors when using the original Arduino toolkit (when switching to AVR / Arduino Hardware in the Arduino IDE).
The link you point to seems to be a linux port for xtensa architecture, which means running linux on xtensa. What we are using is what is called a cross-compiler: a compiler that runs on x64 architecure, but that produces a binary meant to be run on xtensa.
Is there a cross-compiler in that repo somewhere? At first glance I didn't see one (I didn't look thoroughly).
The reason we are using 4.8.2 is that the toolchain comes mostly from espressif, and that compiler version is the official one for the espressif SDK. Keep in mind that these core libs are built on top of the espressif SDK, and that SDK has elements that are distributed as precompiled binary blobs (they are proprietary code). In theory, there could be binary incompatibilities between outputs (I have already encountered this on x64 compilers).
On the other hand, I wouldn't mind moving to a new compiler. I invite you to:
pull the compiler out of the repo, if it is there
test it by temporarily replacing the current official compiler
load a simple test sketch compiled with it into an ESP
If you are willing to pick up the challenge, I can provide some guidance, or can look for someone else to provide it.
@igrr I just found out that with gcc 5 there is a change in abi, which could impact us when we move to a newer gcc, e.g.: 5.2. I don't know details, though.
Basic Infos
The esp8266 toolkit uses gcc 4.8.2 an thus it fails to parse a multiline raw String when it is passed as an argument to a macro. The same sketch as below will build without errors when using the original Arduino toolkit (when switching to AVR / Arduino Hardware in the Arduino IDE).
This was fixed in gcc 4.9 :
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57824
Sketch
Error Message
Resolution?
Is there a reason on why you are using the 4.8.2 version of gcc? Max Filippov seems to provide newer versions on /~https://github.com/jcmvbkbc/linux-xtensa
So would it be possible to use a newer gcc version? Or would one have to "backfix" the old gcc for some reason?
The text was updated successfully, but these errors were encountered: