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

Move ICACHE_* to unique sections, local LD script #5150

Merged
merged 4 commits into from
Sep 21, 2018

Conversation

earlephilhower
Copy link
Collaborator

Similar to PROGMEM changes, make the name of each ICACHE_* variable/fuction
unique to avoid issues with section conflicts.

Also rename the generated LD linker script to avoid issue with older copies
of the eagle.app.v6.common.ld which were generated by the build process
in a global directory before being moved to the {build.path}. The linker
would use the older, generated *.ld file instead of the generated one, which
would lead to runtime failures on some systems and cause the VTABLE location
to not correspond to the IDE menu selection.

Fixes #5115, and is an update to #5117 and #5116.

Similar to PROGMEM changes, make the name of each ICACHE_* variable/fuction
unique to avoid issues with section conflicts.

Also rename the generated LD linker script to avoid issue with older copies
of the eagle.app.v6.common.ld which were generated by the build process
in a global directory before being moved to the {build.path}.  The linker
would use the older, generated *.ld file instead of the generated one, which
would lead to runtime failures on some systems and cause the VTABLE location
to not correspond to the IDE menu selection.

Fixes esp8266#5115, and is an update to esp8266#5117 and esp8266#5116.
@earlephilhower
Copy link
Collaborator Author

earlephilhower commented Sep 19, 2018

@jjsuwa, Can you please give this a try as well? It should have no effect on your setup, which was running with the original patches, but just want to triple-check. I've already tried on my older setup with leftover files and it's running fine.

@jjsuwa
Copy link
Contributor

jjsuwa commented Sep 19, 2018

@earlephilhower - Can you please give this a try as well?

  • board: ESP-WROOM-02 breakout PCB (Akizuki AE-ESP-WROOM-02)
  • Arduino core: commit 1a44f79 + pull 30eb729 (and 8024cc0 because i didn't use *.pys)

I just tested

  • libraries/esp8266/example/Blink
  • my two samples (Ticker_10Hz and WiFi_and_Continuation)
  • my other productive sketches...

and all seem be fine for me.

Copy link
Collaborator

@d-a-v d-a-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like the boards.txt.py update is missing otherwise LGTM!

@earlephilhower
Copy link
Collaborator Author

Thanks, @jjsuwa and @d-a-v . I didn't know you made the linker files as well in boards.txt.py, but it's updated and run with --allgen in the latest push.

@devyte devyte merged commit 3877914 into esp8266:master Sep 21, 2018
@earlephilhower earlephilhower deleted the icache_ldscript branch September 21, 2018 19:05
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.

4 participants