From patchwork Sun Mar 4 02:28:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 26184 Received: (qmail 14351 invoked by alias); 4 Mar 2018 02:28:23 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 14335 invoked by uid 89); 4 Mar 2018 02:28:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, SPF_HELO_PASS, SPF_NEUTRAL autolearn=ham version=3.3.2 spammy= X-HELO: hera.aquilenet.fr From: Samuel Thibault To: libc-alpha@sourceware.org Cc: Samuel Thibault Subject: [PATCH] Separate out error_t definition Date: Sun, 4 Mar 2018 03:28:06 +0100 Message-Id: <20180304022806.21081-1-samuel.thibault@ens-lyon.org> so interfaces needing it can get it. * stdlib/errno.h (error_t): Move definition to... * stdlib/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 * hurd/hurd/fd.h: Include * hurd/hurd/id.h: Include and * hurd/hurd/lookup.h: Include and * hurd/hurd/resource.h: Include * hurd/hurd/signal.h: Include * hurd/hurd/sigpreempt.h: Include --- ChangeLog | 13 +++++++++++++ hurd/hurd.h | 1 + hurd/hurd/fd.h | 1 + hurd/hurd/id.h | 2 ++ hurd/hurd/lookup.h | 2 ++ hurd/hurd/resource.h | 1 + hurd/hurd/signal.h | 1 + hurd/hurd/sigpreempt.h | 1 + stdlib/Makefile | 2 +- stdlib/bits/types/error_t.h | 24 ++++++++++++++++++++++++ stdlib/errno.h | 7 +------ sysdeps/mach/hurd/bits/errno.h | 8 -------- sysdeps/mach/hurd/bits/types/error_t.h | 27 +++++++++++++++++++++++++++ sysdeps/mach/hurd/errnos.awk | 8 -------- 14 files changed, 75 insertions(+), 23 deletions(-) create mode 100644 stdlib/bits/types/error_t.h create mode 100644 sysdeps/mach/hurd/bits/types/error_t.h diff --git a/ChangeLog b/ChangeLog index 33d3008a91..44c6bfe2c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,19 @@ * mach/mach/mig_support.h [defined __USE_GNU]: Do not #error out. * scripts/check-installed-headers.sh: Do not ignore Hurd and Mach headers. + * stdlib/errno.h (error_t): Move definition to... + * stdlib/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 + * hurd/hurd/fd.h: Include + * hurd/hurd/id.h: Include and + * hurd/hurd/lookup.h: Include and + * hurd/hurd/resource.h: Include + * hurd/hurd/signal.h: Include + * hurd/hurd/sigpreempt.h: Include 2018-03-03 Andreas Schwab diff --git a/hurd/hurd.h b/hurd/hurd.h index a0e2444632..1ced6403dd 100644 --- a/hurd/hurd.h +++ b/hurd/hurd.h @@ -41,6 +41,7 @@ #include #include +#include #ifndef _HURD_H_EXTERN_INLINE #define _HURD_H_EXTERN_INLINE __extern_inline diff --git a/hurd/hurd/fd.h b/hurd/hurd/fd.h index 5d51c11e6a..f1701ed423 100644 --- a/hurd/hurd/fd.h +++ b/hurd/hurd/fd.h @@ -140,6 +140,7 @@ _hurd_fd_get (int fd) __result; }) #include +#include /* 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 #include +#include +#include #include /* 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 +#include #include /* 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 #include #include +#include #include /* This array contains the current resource limits for the process. */ diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h index 53234724a4..3d38b43f79 100644 --- a/hurd/hurd/signal.h +++ b/hurd/hurd/signal.h @@ -35,6 +35,7 @@ #include #include #include +#include #include #include /* For `struct mutex'. */ diff --git a/hurd/hurd/sigpreempt.h b/hurd/hurd/sigpreempt.h index d5a0abb729..f41c31c465 100644 --- a/hurd/hurd/sigpreempt.h +++ b/hurd/hurd/sigpreempt.h @@ -20,6 +20,7 @@ #define _HURD_SIGPREEMPT_H 1 #include +#include #include /* For sigset_t, sighandler_t, SIG_ERR. */ struct hurd_sigstate; /* */ struct hurd_signal_detail; /* */ 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/bits/types/error_t.h b/stdlib/bits/types/error_t.h new file mode 100644 index 0000000000..8ea7a8149e --- /dev/null +++ b/stdlib/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 + . */ + +#ifndef __error_t_defined +# define __error_t_defined 1 + +typedef int error_t; + +#endif 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 # 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..242331e618 --- /dev/null +++ b/sysdeps/mach/hurd/bits/types/error_t.h @@ -0,0 +1,27 @@ +/* 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 + . */ + +/* 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__ */"; }