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

cpu/esp32: Cleanup of used ESP32x ROM linker scripts #21139

Merged

Conversation

gschorcht
Copy link
Contributor

Contribution description

This PR provides a cleanup to reduce the number of linker scripts used for the ESP32x ROMs and thus the symbols used from the ESP32x ROMs. It works with both gcc 12.2 and gcc 14.2. The latter gcc version is a prerequisite for ESP-IDF v5.2 and higher version and thus a prerequisite for starting the work on the RIOT-OS port for the latest version of ESP-IDF. Thin in turn is a prerequisite to use newer ESP32x SoCs like ESP32-H2, ESP32-C2 and ESP32-C6 as well as the future ESP32-P4.

Testing procedure

Compilation has to succeed.

The PR was tested with gcc 12.2 as well as gcc 14.2 for WiFi and BLE (the most complex usage of ESP32 SoCs) for all supported ESP32x variants.

Issues/PRs references

The cleanup reduces the number of linker scripts used for the ESP32x ROMs and thus the symbols used from the ESP32x ROMs. It works with both gcc 12.2 and gcc 14.2. The latter gcc version is a prerequisite for ESP-IDF v5.2 and higher and thus a prerequisite for starting the work on the RIOT-OS port for the latest version of ESP-IDF.
The cleanup removes the code that is no longer needed with the cleanup of the linker scripts for ESP ROMs.
@github-actions github-actions bot added Platform: ESP Platform: This PR/issue effects ESP-based platforms Area: cpu Area: CPU/MCU ports labels Jan 19, 2025
@gschorcht gschorcht added Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Jan 19, 2025
@riot-ci
Copy link

riot-ci commented Jan 19, 2025

Murdock results

✔️ PASSED

ba32243 cpu/esp32: changes for the future gcc version 14.2.0

Success Failures Total Runtime
10270 0 10271 17m:48s

Artifacts

To avoid type conflicts between the `pthread_rwlockattr_t` definition in RIOT's `pthread` implementation and newlibc's `sys/_pthreadtypes.h`, the macro `_POSIX_READER_WRITER_LOCKS` must be undefined.
@gschorcht gschorcht requested a review from benpicco January 20, 2025 08:07
@benpicco benpicco added this pull request to the merge queue Jan 20, 2025
Merged via the queue into RIOT-OS:master with commit a12bc9e Jan 21, 2025
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: cpu Area: CPU/MCU ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ESP Platform: This PR/issue effects ESP-based platforms Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants