--- /dev/null
+From d1a3ca7ca56630fddde7311a0474eed4a21335a7 Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Mon, 3 Feb 2020 13:57:32 -0800
+Subject: [PATCH] include/ctype.h: drop is*_l macro definitions
+
+ctype locale-specific macro definitions are broken because they result
+in dereference of pointer to structure of incomplete type.
+Drop these macros since they are optional and let applications use
+functions with the same names.
+
+This change fixes parted-3.3 build with uClibc-ng:
+ http://autobuild.buildroot.net/results/b7ba1210d5aa184b133f0171da621d2b0083ec39/build-end.log
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+ include/ctype.h | 33 ---------------------------------
+ 1 file changed, 33 deletions(-)
+
+diff --git a/include/ctype.h b/include/ctype.h
+index ecd5e730886a..e934cf3321a6 100644
+--- a/include/ctype.h
++++ b/include/ctype.h
+@@ -350,46 +350,13 @@ libc_hidden_proto(tolower_l)
+ /* Return the uppercase version of C. */
+ extern int toupper_l (int __c, __locale_t __l) __THROW;
+
+-# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus
+-# define tolower_l(c, locale) __tobody(c, tolower_l, (locale)->__ctype_tolower, (c, locale))
+-# define toupper_l(c, locale) __tobody(c, toupper_l, (locale)->__ctype_toupper, (c, locale))
+-# endif /* Optimizing gcc */
+-
+-
+-# define __isctype_l(c, type, locale) ((locale)->__ctype_b[(int) (c)] & (__ctype_mask_t) type)
+ # ifndef __NO_CTYPE
+-# define __isalnum_l(c,l) __isctype_l((c), _ISalnum, (l))
+-# define __isalpha_l(c,l) __isctype_l((c), _ISalpha, (l))
+-# define __iscntrl_l(c,l) __isctype_l((c), _IScntrl, (l))
+-# define __isdigit_l(c,l) __isctype_l((c), _ISdigit, (l))
+-# define __islower_l(c,l) __isctype_l((c), _ISlower, (l))
+-# define __isgraph_l(c,l) __isctype_l((c), _ISgraph, (l))
+-# define __isprint_l(c,l) __isctype_l((c), _ISprint, (l))
+-# define __ispunct_l(c,l) __isctype_l((c), _ISpunct, (l))
+-# define __isspace_l(c,l) __isctype_l((c), _ISspace, (l))
+-# define __isupper_l(c,l) __isctype_l((c), _ISupper, (l))
+-# define __isxdigit_l(c,l) __isctype_l((c), _ISxdigit, (l))
+-# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l))
+-
+ # if (defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN) \
+ && defined __UCLIBC_SUSV4_LEGACY__
+ # define __isascii_l(c,l) ((l), __isascii (c))
+ # define __toascii_l(c,l) ((l), __toascii (c))
+ # endif
+
+-# define isalnum_l(c,l) __isalnum_l ((c), (l))
+-# define isalpha_l(c,l) __isalpha_l ((c), (l))
+-# define iscntrl_l(c,l) __iscntrl_l ((c), (l))
+-# define isdigit_l(c,l) __isdigit_l ((c), (l))
+-# define islower_l(c,l) __islower_l ((c), (l))
+-# define isgraph_l(c,l) __isgraph_l ((c), (l))
+-# define isprint_l(c,l) __isprint_l ((c), (l))
+-# define ispunct_l(c,l) __ispunct_l ((c), (l))
+-# define isspace_l(c,l) __isspace_l ((c), (l))
+-# define isupper_l(c,l) __isupper_l ((c), (l))
+-# define isxdigit_l(c,l) __isxdigit_l ((c), (l))
+-# define isblank_l(c,l) __isblank_l ((c), (l))
+-
+ # if (defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN) \
+ && defined __UCLIBC_SUSV4_LEGACY__
+ # define isascii_l(c,l) __isascii_l ((c), (l))
+--
+2.20.1
+