From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id 0EFDB3857806; Sun, 6 Aug 2023 20:36:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0EFDB3857806 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1691354188; bh=jxDx2ufmkkTF/rT1ofegOZq1fEwugACBJDDZI3TOHr8=; h=From:To:Subject:Date:From; b=eove2jPFC+VeRiWi5SQpx6qFMlFM2Jc7qta0ndlxvKiI5ewnqu5Z7/ieScIXqr04F 1qkRDcglWR7iDHekcVNDlyZeFoN9uU7env+QYb1qMlVRhxploJfi9CzT/+VHYBTqeZ nanIZxe08wTEZc6Q/SilqpykHAM2Wpv4MV35WLDM= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Samuel Thibault To: glibc-cvs@sourceware.org Subject: [glibc] hurd: Rework generating errno.h X-Act-Checkin: glibc X-Git-Author: Samuel Thibault X-Git-Refname: refs/heads/master X-Git-Oldrev: 41d8c3bc33bcae1ebb8077b0442caef4917f763a X-Git-Newrev: 53850f044f65dd11efdf67a2ab214d312295d85c Message-Id: <20230806203628.0EFDB3857806@sourceware.org> Date: Sun, 6 Aug 2023 20:36:28 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=53850f044f65dd11efdf67a2ab214d312295d85c commit 53850f044f65dd11efdf67a2ab214d312295d85c Author: Samuel Thibault Date: Sun Aug 6 20:32:46 2023 +0000 hurd: Rework generating errno.h We only need to give to gawk the headers that actually define error numbers, so let's rather filter out the other included headers early. Diff: --- sysdeps/mach/hurd/Makefile | 30 ++++++++++++++++++------------ sysdeps/mach/hurd/bits/errno.h | 24 ------------------------ sysdeps/mach/hurd/errnos.awk | 6 +----- 3 files changed, 19 insertions(+), 41 deletions(-) diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile index 5bc682a397..029dac4bc7 100644 --- a/sysdeps/mach/hurd/Makefile +++ b/sysdeps/mach/hurd/Makefile @@ -66,26 +66,32 @@ errno.texinfo = $(..)manual/errno.texi hurd = $(..)sysdeps/mach/hurd -define mach-errno-h -($(foreach h,mach/message.h \ +mach-errno-h = \ + mach/message.h \ mach/kern_return.h \ mach/mig_errors.h \ - device/device_types.h,\ - echo '#include <$h>';\ - )) -endef + device/device_types.h # We use the compiler to generate a list of absolute file names for # the headers we want to search for Mach error codes, listed above (and # incidentally, all other headers those include). -include $(common-objpfx)errnos.d $(common-objpfx)errnos.d: $(mach-errnos-deps) - $(mach-errno-h) | \ - $(CC) $(CFLAGS) \ - $(subst -include $(common-objpfx)libc-modules.h,,$(CPPFLAGS)) \ - -M -x c - | \ - sed $(sed-remove-objpfx) -e 's,- *:,mach-errnos-deps :=,' \ - -e 's, \.\./, $(..),g' > $@t + echo -n "mach-errnos-deps := " > $@t + for h in $(mach-errno-h) ; do \ + echo "#include <$$h>" \ + | $(CC) $(CFLAGS) \ + $(subst -include $(common-objpfx)libc-modules.h,,$(CPPFLAGS)) \ + -M -x c - \ + | sed $(sed-remove-objpfx) \ + -e 's, \.\./, $(..),g' \ + -e 's,\\$$,,g' \ + -e 's, ,\n,g' \ + | grep "$$h$$" \ + | tr '\n' ' ' \ + >> $@t ; \ + done + echo >> $@t mv -f $@t $@ $(hurd)/bits/errno.h: $(common-objpfx)stamp-errnos ; diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h index a0794f96aa..3b54f5855e 100644 --- a/sysdeps/mach/hurd/bits/errno.h +++ b/sysdeps/mach/hurd/bits/errno.h @@ -1,33 +1,9 @@ /* This file generated by errnos.awk from errno.texi - stdc-predef.h - libc-symbols.h mach/message.h mach/kern_return.h - mach/port.h - mach/boolean.h - stdint.h - ../stdlib/stdint.h - ../bits/libc-header-start.h - features.h - features-time64.h - ../sysdeps/generic/features-time64.h - sys/cdefs.h - ../misc/sys/cdefs.h - ../sysdeps/x86/bits/wordsize.h - ../sysdeps/ieee754/ldbl-96/bits/long-double.h - gnu/stubs.h - bits/types.h - ../posix/bits/types.h - ../sysdeps/mach/hurd/bits/timesize.h - ../sysdeps/mach/hurd/bits/typesizes.h - ../bits/time64.h - ../bits/wchar.h - ../bits/stdint-intn.h - ../bits/stdint-uintn.h mach/mig_errors.h device/device_types.h - mach/std_types.h Do not edit this file; edit errnos.awk and regenerate it. */ #ifndef _BITS_ERRNO_H diff --git a/sysdeps/mach/hurd/errnos.awk b/sysdeps/mach/hurd/errnos.awk index b9f717c1af..507e9d26ff 100644 --- a/sysdeps/mach/hurd/errnos.awk +++ b/sysdeps/mach/hurd/errnos.awk @@ -23,12 +23,8 @@ BEGIN { for (i = 1; i < ARGC; i++) { arg = ARGV[i]; - sub(/.*(manual|include)\//, "", arg); + sub(/.*(manual|include|-gnu)\//, "", arg); if (arg ~ /.*errnos.d/) continue; - # Those not not actually define anything for errno.h - if (arg ~ /mach\/.*\/kern_return.h/) continue; - if (arg ~ /mach\/.*\/boolean.h/) continue; - if (arg ~ /mach\/.*\/vm_types.h/) continue; print " " arg; } print " Do not edit this file; edit errnos.awk and regenerate it. */";