Skip to content
This repository was archived by the owner on Sep 19, 2026. It is now read-only.
This repository was archived by the owner on Sep 19, 2026. It is now read-only.

Figure out how to properly support picolibc (IDF 6.0+) #410

Closed

Description

@drinkcat

IDF 6.0+ adds support for picolibc, and makes it the default (instead of newlib)

picolibc appears to be mostly compatible with newlib, apart from a few file-related macros that are defined differently:

E (351) libc_checks: Mismatch detected for constant `O_APPEND`: `esp-idf` 1024 | `libc` 8
E (351) libc_checks: Mismatch detected for constant `O_CREAT`: `esp-idf` 64 | `libc` 512
E (361) libc_checks: Mismatch detected for constant `O_TRUNC`: `esp-idf` 512 | `libc` 1024

See thread here for all the details: #408 (comment)

  1. We'll need to submit a patch to upstream libc no matter what (I have something semi-temporary, see above)
  2. We need to figure out how to support this in esp-rs, maybe a separate set of toolchain, maybe just a cfg flag that needs to be passed?

Activity

  1. drinkcat commented on Mar 31, 2026

    @drinkcat
    ContributorAuthor
  2. drinkcat commented on Mar 31, 2026

    @drinkcat
    ContributorAuthor

    @SergioGasquez FYI, related to my libc-checks PR.

    Somehow related... Should we think about merging libc-checks into this repo?! Might be worth adding to CI here (even though it's not testing much of esp-idf-sys itself, technically)

  3. ivmarkov commented on Mar 31, 2026

    @ivmarkov
    Collaborator

    @SergioGasquez FYI, related to my libc-checks PR.

    Somehow related... Should we think about merging libc-checks into this repo?! Might be worth adding to CI here (even though it's not testing much of esp-idf-sys itself, technically)

    I'm all for that, actually, but let's avoid any big moves like shuffling the existing esp-idf-sys layout. :-)

    How about we just re-implement libc-checks as an example?

  4. ivmarkov commented on Sep 15, 2026

    @ivmarkov
    Collaborator

    I think this is already addressed so we should close.

  5. moved this from Todo to Done in esp-rs on Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    • Status
      Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions