1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-30 08:19:09 +00:00

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
This commit is contained in:
Dag-Erling Smørgrav 2009-09-10 08:33:28 +00:00
parent 767a0b2dc9
commit edefbdd7cb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=197057
2 changed files with 18 additions and 8 deletions

View File

@ -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

View File

@ -2233,13 +2233,21 @@ int freebsd4_sigreturn(struct thread *, struct freebsd4_sigreturn_args *);
#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 *, struct freebsd7___semctl_args *);
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