-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Compile/Upload failure when using some debug features in 2.4.2 ONLY #5036
Comments
This is a section problem related to Removing that decorator from the static variable in the debug |
related: #4650 and worth reading: #2078 I think we should introduce a second and / or Move this assert in a separate |
If you manually change the segment you can get this specific problem to go away: It's not a general fix because, per GCC manuals,
|
Great finding ! |
@earlephilhower Thanks for this, your suggestion solved my problem! Any idea if this will be fixed in the next releases? |
According to the GCC man page, __section__ attributes should only be used for global variables. However, the PROGMEM and ICACHE_RODATA macros use this variable decorator even for local variables. Most of the time it works, but when a static or inlined function tries to use a PROGMEM/PSTR/etc. variable the compiler can throw an error like: error: XXX causes a section type conflict with YYY Change the PROGMEM macro to emit a section name that is unique (a combo of the file, line, and counter variables to ensure uniqueness). The standard linker script will place them properly in .IROM without any changes. Fixes esp8266#5036 and others.
According to the GCC man page, __section__ attributes should only be used for global variables. However, the PROGMEM and ICACHE_RODATA macros use this variable decorator even for local variables. Most of the time it works, but when a static or inlined function tries to use a PROGMEM/PSTR/etc. variable the compiler can throw an error like: error: XXX causes a section type conflict with YYY Change the PROGMEM macro to emit a section name that is unique (a combo of the file, line, and counter variables to ensure uniqueness). The standard linker script will place them properly in .IROM without any changes. Fixes #5036 and others.
Basic Infos
Platform
Settings in IDE
Problem Description
When using some debug systems (like Core or OOM) the sketch refuses to compile/upload, most likely due to a conflict with ESP8266mDNS in Arduino OTA.
Is there any other way debugging could be done? I included the minimal code that still reproduces the problem.
Is it just my configuration or an actual bug?
MCVE Sketch
Debug Messages
The text was updated successfully, but these errors were encountered: