Skip to content

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

@drinkcat

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions