diff --git a/libc/xtensa-lx106-elf/include/sys/_intsup.h b/libc/xtensa-lx106-elf/include/sys/_intsup.h
index 7c3bc01..fa78426 100644
--- a/libc/xtensa-lx106-elf/include/sys/_intsup.h
+++ b/libc/xtensa-lx106-elf/include/sys/_intsup.h
@@ -4,6 +4,8 @@
  *
  * Permission to use, copy, modify, and distribute this software
  * is freely granted, provided that this notice is preserved.
+ *
+ * Modified for xtensa arch & non-long int32_t, removes automatic setting of __have_long32.
  */
 
 #ifndef _SYS__INTSUP_H
@@ -11,26 +13,8 @@
 
 #include <sys/features.h>
 
-#if __GNUC_PREREQ (3, 2)
-/* gcc > 3.2 implicitly defines the values we are interested */
 #define __STDINT_EXP(x) __##x##__
-#else
-#define __STDINT_EXP(x) x
-#include <limits.h>
-#endif
 
-/* Check if "long long" is 64bit wide */
-/* Modern GCCs provide __LONG_LONG_MAX__, SUSv3 wants LLONG_MAX */
-#if ( defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff) ) \
-  || ( defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) )
 #define __have_longlong64 1
-#endif
-
-/* Check if "long" is 64bit or 32bit wide */
-#if __STDINT_EXP(LONG_MAX) > 0x7fffffff
-#define __have_long64 1
-#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__)
-#define __have_long32 1
-#endif
 
 #endif /* _SYS__INTSUP_H */
diff --git a/libc/xtensa-lx106-elf/lib/libc.a b/libc/xtensa-lx106-elf/lib/libc.a
index 596e9f6..33cfced 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 596e9f6..33cfced 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 697d2ab..7a2455b 100644
Binary files a/libc/xtensa-lx106-elf/lib/libm.a and b/libc/xtensa-lx106-elf/lib/libm.a differ