This is not right fix. Many systems incorrectly define wchar_t as 16-bit
type whil GRUB needs at least 21 as we handle all unicode characters.
Please try:
=== modified file 'grub-core/lib/posix_wrap/wchar.h'
--- grub-core/lib/posix_wrap/wchar.h 2012-02-09 13:24:55 +0000
+++ grub-core/lib/posix_wrap/wchar.h 2013-08-15 14:55:59 +0000
@@ -21,6 +21,11 @@
#include <grub/charset.h>
+#if defined(__NetBSD__) || defined(__OPENBSD__)
+#define wchar_t grub_posix_wchar_t
+#define mbstate_t grub_posix_mbstate_t
+#endif
+
/* UCS-4. */
typedef grub_int32_t wint_t;
enum