This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Fix Hurd glibc build with GCC 8 [committed]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Tue, 24 Apr 2018 16:34:22 +0000
- Subject: Fix Hurd glibc build with GCC 8 [committed]
The build of glibc for Hurd has been failing with GCC mainline because
of the checks that aliases have the same type as the symbol aliased;
the Hurd dl-sysdep.c has a macro that defines aliases without using
the proper type. When GCC 8 branches (soon), I intend to make it the
default version in build-many-glibcs.py, so these failures would mean
the default build-many-glibcs.py build fails for Hurd again.
This patch fixes the Hurd build with GCC 8 by changing the macro that
defines the problem aliases to use the correct type for them. An
include of <not-errno.h> is needed to avoid this use of typeof
resulting in an error for __access_noerrno not being declared.
Tested compilation for i686-gnu with build-many-glibcs.py. Committed.
2018-04-24 Joseph Myers <joseph@codesourcery.com>
* sysdeps/mach/hurd/dl-sysdep.c: Include <not-errno.h>.
(check_no_hidden): Use type of original function when declaring
alias.
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index cbf4e05..5471088 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -46,6 +46,7 @@
#include <dl-procinfo.h>
#include <dl-tunables.h>
+#include <not-errno.h>
extern void __mach_init (void);
@@ -278,8 +279,9 @@ _dl_sysdep_start_cleanup (void)
/* This macro checks that the function does not get renamed to be hidden: we do
need these to be overridable by libc's. */
-#define check_no_hidden(name) \
-static void __check_##name##_no_hidden(void) __attribute__((alias(#name)));
+#define check_no_hidden(name) \
+ static __typeof (name) __check_##name##_no_hidden \
+ __attribute__ ((alias (#name)));
/* Open FILE_NAME and return a Hurd I/O for it in *PORT, or return an
error. If STAT is non-zero, stat the file into that stat buffer. */
--
Joseph S. Myers
joseph@codesourcery.com