From owner-svn-src-head@FreeBSD.ORG Thu Sep 10 08:33:28 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A640410656AA; Thu, 10 Sep 2009 08:33:28 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9518E8FC14; Thu, 10 Sep 2009 08:33:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8A8XSHb011877; Thu, 10 Sep 2009 08:33:28 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8A8XSIc011874; Thu, 10 Sep 2009 08:33:28 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909100833.n8A8XSIc011874@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Thu, 10 Sep 2009 08:33:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197057 - in head/sys: compat/freebsd32 sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 08:33:28 -0000 Author: des Date: Thu Sep 10 08:33:28 2009 New Revision: 197057 URL: http://svn.freebsd.org/changeset/base/197057 Log: If a certain feature that was present in FreeBSD 7 was removed or changed in FreeBSD 8, the compatibility shims should be built not just when FreeBSD 7 compatibility is requested, but also when compatibility with any older FreeBSD version where that feature was present is requested.o Without this patch, a kernel config that sets COMPAT_FREEBSD6 but not *7 would fail to build due to inconsistencies between the declaration of the compatibility shims and their use in the SysV code. There are similar errors in other *proto.h headers in the tree. MFC after: 3 weeks Modified: head/sys/compat/freebsd32/freebsd32_proto.h head/sys/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_proto.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_proto.h Thu Sep 10 07:37:36 2009 (r197056) +++ head/sys/compat/freebsd32/freebsd32_proto.h Thu Sep 10 08:33:28 2009 (r197057) @@ -626,7 +626,8 @@ int freebsd4_freebsd32_sigreturn(struct #endif /* COMPAT_FREEBSD4 */ -#ifdef COMPAT_FREEBSD6 +#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD6) struct freebsd6_freebsd32_pread_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; @@ -680,10 +681,11 @@ int freebsd6_freebsd32_lseek(struct thre int freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *); int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *); -#endif /* COMPAT_FREEBSD6 */ +#endif /* COMPAT_FREEBSD[456] */ -#ifdef COMPAT_FREEBSD7 +#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) struct freebsd7_freebsd32_semctl_args { char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)]; @@ -705,7 +707,7 @@ int freebsd7_freebsd32_semctl(struct thr int freebsd7_freebsd32_msgctl(struct thread *, struct freebsd7_freebsd32_msgctl_args *); int freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_args *); -#endif /* COMPAT_FREEBSD7 */ +#endif /* COMPAT_FREEBSD[4567] */ #define FREEBSD32_SYS_AUE_freebsd32_wait4 AUE_WAIT4 #define FREEBSD32_SYS_AUE_freebsd4_freebsd32_getfsstat AUE_GETFSSTAT Modified: head/sys/sys/sysproto.h ============================================================================== --- head/sys/sys/sysproto.h Thu Sep 10 07:37:36 2009 (r197056) +++ head/sys/sys/sysproto.h Thu Sep 10 08:33:28 2009 (r197057) @@ -2233,13 +2233,21 @@ int freebsd4_sigreturn(struct thread *, #endif /* COMPAT_FREEBSD4 */ -#ifdef COMPAT_FREEBSD6 +#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) -#endif /* COMPAT_FREEBSD6 */ +#endif /* COMPAT_FREEBSD[45] */ -#ifdef COMPAT_FREEBSD7 +#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD6) + + +#endif /* COMPAT_FREEBSD[456] */ + + +#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) struct freebsd7___semctl_args { char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)]; @@ -2261,7 +2269,7 @@ int freebsd7___semctl(struct thread *, s int freebsd7_msgctl(struct thread *, struct freebsd7_msgctl_args *); int freebsd7_shmctl(struct thread *, struct freebsd7_shmctl_args *); -#endif /* COMPAT_FREEBSD7 */ +#endif /* COMPAT_FREEBSD[4567] */ #define SYS_AUE_syscall AUE_NULL #define SYS_AUE_exit AUE_EXIT