diff --git a/libc/xtensa-lx106-elf/include/newlib.h b/libc/xtensa-lx106-elf/include/newlib.h
index 7ea84d4..e9bf566 100644
--- a/libc/xtensa-lx106-elf/include/newlib.h
+++ b/libc/xtensa-lx106-elf/include/newlib.h
@@ -31,7 +31,7 @@
 
 /* Optional reentrant struct support.  Used mostly on platforms with
    very restricted storage.  */
-/* #undef _WANT_REENT_SMALL */
+#define _WANT_REENT_SMALL 1
 
 /* Multibyte supported */
 /* #undef _MB_CAPABLE */
diff --git a/libc/xtensa-lx106-elf/include/sys/config.h b/libc/xtensa-lx106-elf/include/sys/config.h
index ee9d3b7..f6f923e 100644
--- a/libc/xtensa-lx106-elf/include/sys/config.h
+++ b/libc/xtensa-lx106-elf/include/sys/config.h
@@ -188,6 +188,8 @@
 #ifdef __XTENSA__
 #include <xtensa/config/core-isa.h>
 #define MALLOC_ALIGNMENT ((XCHAL_DATA_WIDTH) < 16 ? 16 : (XCHAL_DATA_WIDTH))
+/* esp8266-specific: shrink the default fd buffer size */
+#define __BUFSIZ__ 128
 #endif
 
 /* This block should be kept in sync with GCC's limits.h.  The point
diff --git a/libc/xtensa-lx106-elf/lib/libc.a b/libc/xtensa-lx106-elf/lib/libc.a
index 33cfced..a166b9e 100644
Binary files a/libc/xtensa-lx106-elf/lib/libc.a and b/libc/xtensa-lx106-elf/lib/libc.a differ
diff --git a/libc/xtensa-lx106-elf/lib/libg.a b/libc/xtensa-lx106-elf/lib/libg.a
index 33cfced..a166b9e 100644
Binary files a/libc/xtensa-lx106-elf/lib/libg.a and b/libc/xtensa-lx106-elf/lib/libg.a differ
diff --git a/libc/xtensa-lx106-elf/lib/libm.a b/libc/xtensa-lx106-elf/lib/libm.a
index 7a2455b..be41436 100644
Binary files a/libc/xtensa-lx106-elf/lib/libm.a and b/libc/xtensa-lx106-elf/lib/libm.a differ