summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2009-09-10 08:33:28 +0000
committerdes <des@FreeBSD.org>2009-09-10 08:33:28 +0000
commitb9f96dd3c05dc496081fe2e9cf86821da07743bc (patch)
tree9ba7f97d1f900d2e397cdc914d2996d68b6f4d9a /sys/compat
parentff3ab430a7bf6fea4ff59ac975732091f88f3182 (diff)
downloadFreeBSD-src-b9f96dd3c05dc496081fe2e9cf86821da07743bc.zip
FreeBSD-src-b9f96dd3c05dc496081fe2e9cf86821da07743bc.tar.gz
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
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_proto.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h
index d957b7c..2a74fad 100644
--- a/sys/compat/freebsd32/freebsd32_proto.h
+++ b/sys/compat/freebsd32/freebsd32_proto.h
@@ -626,7 +626,8 @@ int freebsd4_freebsd32_sigreturn(struct thread *, struct freebsd4_freebsd32_sigr
#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 thread *, struct freebsd6_freebsd32_lseek_ar
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 thread *, struct freebsd7_freebsd32_semctl_
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
OpenPOWER on IntegriCloud