diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | bits/types/error_t.h | 24 | ||||
-rw-r--r-- | hurd/hurd.h | 1 | ||||
-rw-r--r-- | hurd/hurd/fd.h | 1 | ||||
-rw-r--r-- | hurd/hurd/id.h | 2 | ||||
-rw-r--r-- | hurd/hurd/lookup.h | 2 | ||||
-rw-r--r-- | hurd/hurd/resource.h | 1 | ||||
-rw-r--r-- | hurd/hurd/signal.h | 1 | ||||
-rw-r--r-- | hurd/hurd/sigpreempt.h | 1 | ||||
-rw-r--r-- | stdlib/Makefile | 2 | ||||
-rw-r--r-- | stdlib/errno.h | 7 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/errno.h | 8 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/types/error_t.h | 29 | ||||
-rw-r--r-- | sysdeps/mach/hurd/errnos.awk | 8 |
14 files changed, 77 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog index 2810a9cb28..a2d8575c38 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,19 @@ Include <stddef.h> and <bits/types/sigset_t.h> (struct hurd_signal_preemptor, hurd_catch_signal): Use __sighandler_t instead of sighandler_t. + * stdlib/errno.h (error_t): Move definition to... + * bits/types/error_t.h: ... new header. + * stdlib/Makefile (headers): Add bits/types/error_t.h. + * sysdeps/mach/hurd/bits/errno.h (error_t): Move definition to... + * sysdeps/mach/hurd/bits/types/error_t.h: ... new header. + * sysdeps/mach/hurd/errnos.awk (error_t): Likewise. + * hurd/hurd.h: Include <bits/types/error_t.h> + * hurd/hurd/fd.h: Include <bits/types/error_t.h> + * hurd/hurd/id.h: Include <errno.h> and <bits/types/error_t.h> + * hurd/hurd/lookup.h: Include <errno.h> and <bits/types/error_t.h> + * hurd/hurd/resource.h: Include <bits/types/error_t.h> + * hurd/hurd/signal.h: Include <bits/types/error_t.h> + * hurd/hurd/sigpreempt.h: Include <bits/types/error_t.h> 2018-03-03 Andreas Schwab <schwab@linux-m68k.org> diff --git a/bits/types/error_t.h b/bits/types/error_t.h new file mode 100644 index 0000000000..8ea7a8149e --- /dev/null +++ b/bits/types/error_t.h @@ -0,0 +1,24 @@ +/* Define error_t. + Copyright (C) 1991-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef __error_t_defined +# define __error_t_defined 1 + +typedef int error_t; + +#endif diff --git a/hurd/hurd.h b/hurd/hurd.h index 029a7ebc59..d3c868928b 100644 --- a/hurd/hurd.h +++ b/hurd/hurd.h @@ -41,6 +41,7 @@ #include <hurd/port.h> #include <errno.h> +#include <bits/types/error_t.h> #include <bits/types/sigset_t.h> #ifndef _HURD_H_EXTERN_INLINE diff --git a/hurd/hurd/fd.h b/hurd/hurd/fd.h index 5a067d4888..af5fdcf759 100644 --- a/hurd/hurd/fd.h +++ b/hurd/hurd/fd.h @@ -142,6 +142,7 @@ _hurd_fd_get (int fd) __result; }) #include <errno.h> +#include <bits/types/error_t.h> /* Check if ERR should generate a signal. Returns the signal to take, or zero if none. */ diff --git a/hurd/hurd/id.h b/hurd/hurd/id.h index 28563c9618..38988bfe72 100644 --- a/hurd/hurd/id.h +++ b/hurd/hurd/id.h @@ -21,6 +21,8 @@ #define _HURD_ID_H 1 #include <features.h> #include <hurd/hurd_types.h> +#include <errno.h> +#include <bits/types/error_t.h> #include <cthreads.h> /* For `struct mutex'. */ diff --git a/hurd/hurd/lookup.h b/hurd/hurd/lookup.h index 9a1f58058f..d0fa87b3d6 100644 --- a/hurd/hurd/lookup.h +++ b/hurd/hurd/lookup.h @@ -19,6 +19,8 @@ #ifndef _HURD_LOOKUP_H #define _HURD_LOOKUP_H 1 +#include <errno.h> +#include <bits/types/error_t.h> #include <hurd/hurd_types.h> /* These functions all take two callback functions as the first two arguments. diff --git a/hurd/hurd/resource.h b/hurd/hurd/resource.h index 23b795dce5..eb93110799 100644 --- a/hurd/hurd/resource.h +++ b/hurd/hurd/resource.h @@ -22,6 +22,7 @@ #include <sys/types.h> #include <sys/resource.h> #include <errno.h> +#include <bits/types/error_t.h> #include <hurd/process.h> /* This array contains the current resource limits for the process. */ diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h index 9cb5f3cfc4..d4edf317a1 100644 --- a/hurd/hurd/signal.h +++ b/hurd/hurd/signal.h @@ -31,6 +31,7 @@ #include <hurd/hurd_types.h> #include <signal.h> #include <errno.h> +#include <bits/types/error_t.h> #include <bits/types/stack_t.h> #include <bits/types/sigset_t.h> #include <hurd/msg.h> diff --git a/hurd/hurd/sigpreempt.h b/hurd/hurd/sigpreempt.h index d059408fb8..a1df82e2c6 100644 --- a/hurd/hurd/sigpreempt.h +++ b/hurd/hurd/sigpreempt.h @@ -22,6 +22,7 @@ #define __need_size_t #include <stddef.h> #include <errno.h> +#include <bits/types/error_t.h> #include <signal.h> /* For sighandler_t, SIG_ERR. */ #include <bits/types/sigset_t.h> struct hurd_sigstate; /* <hurd/signal.h> */ diff --git a/stdlib/Makefile b/stdlib/Makefile index 7c363a6e4d..af1643c0c4 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -25,7 +25,7 @@ include ../Makeconfig headers := stdlib.h bits/stdlib.h bits/stdlib-ldbl.h bits/stdlib-float.h \ monetary.h bits/monetary-ldbl.h \ inttypes.h stdint.h bits/wordsize.h \ - errno.h sys/errno.h bits/errno.h \ + errno.h sys/errno.h bits/errno.h bits/types/error_t.h \ ucontext.h sys/ucontext.h \ alloca.h fmtmsg.h \ bits/stdlib-bsearch.h sys/random.h bits/stdint-intn.h \ diff --git a/stdlib/errno.h b/stdlib/errno.h index e12fed60ea..fc8b496fae 100644 --- a/stdlib/errno.h +++ b/stdlib/errno.h @@ -45,12 +45,7 @@ extern int *__errno_location (void) __THROW __attribute_const__; extern char *program_invocation_name; extern char *program_invocation_short_name; -/* bits/errno.h may have defined this type. If it didn't, provide a - fallback definition. */ -# ifndef __error_t_defined -# define __error_t_defined 1 -typedef int error_t; -# endif +#include <bits/types/error_t.h> # endif /* __USE_GNU */ diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h index f0a11af9ea..f16cd51a63 100644 --- a/sysdeps/mach/hurd/bits/errno.h +++ b/sysdeps/mach/hurd/bits/errno.h @@ -215,14 +215,6 @@ enum __error_t_codes __FORCE_ERROR_T_CODES_SIGNED = -1 }; -/* User-visible type of error codes. It is ok to use 'int' or - 'kern_return_t' for these, but with 'error_t' the debugger prints - symbolic values. */ -# if !defined __error_t_defined && defined __USE_GNU -# define __error_t_defined 1 -typedef enum __error_t_codes error_t; -# endif - #endif /* not __ASSEMBLER__ */ /* The C standard requires that all of the E-constants be diff --git a/sysdeps/mach/hurd/bits/types/error_t.h b/sysdeps/mach/hurd/bits/types/error_t.h new file mode 100644 index 0000000000..286e5fdc6a --- /dev/null +++ b/sysdeps/mach/hurd/bits/types/error_t.h @@ -0,0 +1,29 @@ +/* Define error_t. + Copyright (C) 1991-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <bits/errno.h> + +/* User-visible type of error codes. It is ok to use 'int' or + 'kern_return_t' for these, but with 'error_t' the debugger prints + symbolic values. */ +#ifndef __error_t_defined +# define __error_t_defined 1 + +typedef enum __error_t_codes error_t; + +#endif diff --git a/sysdeps/mach/hurd/errnos.awk b/sysdeps/mach/hurd/errnos.awk index bc69e06bf6..dc19350eb0 100644 --- a/sysdeps/mach/hurd/errnos.awk +++ b/sysdeps/mach/hurd/errnos.awk @@ -181,14 +181,6 @@ function print_errno_enum(maxseq) print " __FORCE_ERROR_T_CODES_SIGNED = -1"; print "};"; print ""; - print "/* User-visible type of error codes. It is ok to use 'int' or"; - print " 'kern_return_t' for these, but with 'error_t' the debugger prints"; - print " symbolic values. */"; - print "# if !defined __error_t_defined && defined __USE_GNU"; - print "# define __error_t_defined 1"; - print "typedef enum __error_t_codes error_t;" - print "# endif"; - print ""; print "#endif /* not __ASSEMBLER__ */"; } |