51 lines
3.3 KiB
Plaintext
51 lines
3.3 KiB
Plaintext
Pinned, byte-exact source fixtures for the build-local ESP File buffer check.
|
|
|
|
vfs_api.cpp and esp_arduino_version.h:
|
|
Arduino-ESP32 2.0.17, revision dcc1105b0cf1322a437b354c336f2abf72b7e512.
|
|
https://github.com/espressif/arduino-esp32/blob/2.0.17/libraries/FS/src/vfs_api.cpp
|
|
https://github.com/espressif/arduino-esp32/blob/2.0.17/cores/esp32/esp_arduino_version.h
|
|
Both retain their complete upstream copyright/Apache-2.0 notice.
|
|
vfs_api.cpp SHA256 db3eb3fef8e59c0bafd01416ea18e2d5f36f38a9b180cd415ff3563a59fcfb65
|
|
version header SHA256 b63e57731a24289b06eb96ded9e481ea719f4cde2ce7c41bd83c7646e0a6fe51
|
|
|
|
newlib_sys_reent.h and _newlib_version.h:
|
|
Unmodified installed Xtensa ESP32-S3 8.4.0+2021r2-patch5 toolchain headers,
|
|
newlib 3.3.0, as shipped with the pinned Arduino-ESP32 framework toolchain.
|
|
https://github.com/espressif/newlib-esp32/blob/esp-2021r2-patch5/newlib/libc/include/sys/reent.h
|
|
https://github.com/espressif/newlib-esp32/blob/esp-2021r2-patch5/COPYING.NEWLIB
|
|
All original header bytes/comments remain intact; _newlib_version.h is generated.
|
|
reent SHA256 33391d61a83ebbfb122e80514fbf7ed4d770556d8e8d46e029addbbf6077cd79
|
|
version SHA256 93a397574a25b9c143cee7fcb86d8fc9a0c9ba418e4710a30d2d19ba1e4120db
|
|
|
|
The actual ELF map resolves setvbuf/__sfvwrite_r/__srefill_r from the pinned
|
|
toolchain's no-rtti/libc.a. Its setvbuf allocation-fallback path may return zero
|
|
with a filesystem-sized buffer after the requested allocation failed. The
|
|
copied VFS method checks FILE::_bf._size before the caller's first read/write.
|
|
Compile-time newlib version/type/32-bit-prefix assertions fail closed when the
|
|
reviewed internal ABI changes. Native tests extract this exact FILE prefix and
|
|
model 32-bit pointer widths rather than borrowing the host libc's FILE layout.
|
|
|
|
Backend buffer admission is not a wall-clock guarantee: SPIFFS metadata,
|
|
garbage collection, flush, close and publication still require hardware tests.
|
|
|
|
Arduino-ESP32 3.1.3 and 3.3.11:
|
|
The versioned directories contain exact upstream version headers and VFS source
|
|
encoded in the JSON "source" field. JSON escaping preserves the upstream bytes
|
|
while keeping repository fixture files ASCII. The build copy replaces only the
|
|
reviewed Unicode comment punctuation; the shared SDK remains unmodified.
|
|
https://github.com/espressif/arduino-esp32/blob/3.1.3/libraries/FS/src/vfs_api.cpp
|
|
https://github.com/espressif/arduino-esp32/blob/3.3.11/libraries/FS/src/vfs_api.cpp
|
|
Both source variants retain their complete upstream copyright/license notices.
|
|
3.1.3 source SHA256 b879998d67c5c6fc36845831af60b03338365031b4ca15d638d5ff6389a5c155
|
|
3.3.11 source SHA256 3d345bcb3b764f08c6e923dbacc96f27da10edb12beb774de439228057d14a54
|
|
|
|
newlib4/ contains the exact shared FILE-layout and generated version headers
|
|
from Xtensa 14.2.0+20260121 and RISC-V 13.2.0+20240530, newlib 4.3.0.
|
|
Both installed reent.h files match these complete upstream files byte for byte:
|
|
https://github.com/espressif/newlib-esp32/blob/esp-4.3.0_20260121/newlib/libc/include/sys/reent.h
|
|
https://github.com/espressif/newlib-esp32/blob/esp-4.3.0_20240530/newlib/libc/include/sys/reent.h
|
|
https://github.com/espressif/newlib-esp32/blob/esp-4.3.0_20260121/COPYING.NEWLIB
|
|
reent SHA256 c7ba657f911f7e27b7449bda36aa4efa80a025c726768dabb8d4a792f535ec9a
|
|
The reviewed FILE prefix has the same 32-bit _bf/_size offsets as newlib 3.3.0.
|
|
Arduino 3 uses a separate newlib 4.3.0 version guard; other versions fail closed.
|