]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
lib/posix_wrap/errno.h: Add __set_errno() macro
authorDaniel Kiper <daniel.kiper@oracle.com>
Tue, 15 Mar 2022 18:05:45 +0000 (14:05 -0400)
committerDaniel Kiper <daniel.kiper@oracle.com>
Mon, 21 Mar 2022 18:22:28 +0000 (19:22 +0100)
$ ./configure --target=x86_64-w64-mingw32 --with-platform=efi --host=x86_64-w64-mingw32
$ make

[...]

cat syminfo.lst | sort | gawk -f ./genmoddep.awk > moddep.lst || (rm -f moddep.lst; exit 1)
__imp__errno in regexp is not defined

This happens because grub-core/lib/gnulib/malloc/dynarray_resize.c and
grub-core/lib/gnulib/malloc/dynarray_emplace_enlarge.c (both are used by
regexp module) from the latest Gnulib call __set_errno() which originally
sets errno variable (Windows builds add __imp__ prefix). Of course it is
not defined and grub_errno should be used instead.

Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/lib/posix_wrap/errno.h

index ba63b2366f64665c38a152b901a41778d4c14bdd..5ede4fe69e1d4d64f6e57b5299011a0edc34430d 100644 (file)
@@ -26,4 +26,8 @@
 #define EINVAL GRUB_ERR_BAD_NUMBER
 #define ENOMEM GRUB_ERR_OUT_OF_MEMORY
 
+/* From glibc <errno.h>. */
+#ifndef __set_errno
+# define __set_errno(val) (grub_errno = (val))
+#endif
 #endif