Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 1.38 KB

5.1-5.2.rst

File metadata and controls

43 lines (26 loc) · 1.38 KB

From v5.1 to v5.2

c++

PartitionStream: Breaking change

The :cppStorage::PartitionStream constructors with blockErase parameter have been deprecated. The intended default behaviour is read-only, however previously this also allowed writing without block erase. This can result in corrupted flash contents where the flash has not been explicitly erased beforehand.

The new constructors instead use a :cppStorage::Mode so behaviour is more explicit. The default is read-only and writes will now be failed.

64-bit time_t

There is some variability in whether time_t is 32 or 64 bits. See issue #2758.

This is dependent on the toolchain and accompanying C library.

32-bits:

  • Esp32 IDF 4.x
  • Windows Host (using mingw)
  • Linux host builds prior to Sming v5.2

Range of time_t:

-0x80000000: 1901-12-13 20:45:52 0x00000000: 1970-01-01 00:00:00 0x7fffffff: 2038-01-19 03:14:07

All others use 64-bit values.

For reference, C library source code can be found here https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/

Rp2040 builds with standard ARM toolkit so probably accommodated by the standard repo.

Espressif toolchains use forks:

esp8266: https://github.com/earlephilhower/newlib-xtensa/blob/xtensa-4_0_0-lock-arduino/newlib/libc/ esp32: https://github.com/espressif/newlib-esp32/blob/esp-4.3.0/newlib/libc/