bin/124353: cvsup(1): CVSup coredumps with Bus Error since
installworld of 6.3-STABLE on 28/5/08 [regression]
Pav Lucistnik
pav at FreeBSD.org
Mon Aug 18 13:30:05 UTC 2008
The following reply was made to PR bin/124353; it has been noted by GNATS.
From: Pav Lucistnik <pav at FreeBSD.org>
To: Joseph Koshy <jkoshy at FreeBSD.org>
Cc: bug-followup at FreeBSD.org, srp at zzap.org
Subject: Re: bin/124353: cvsup(1): CVSup coredumps with Bus Error since
installworld of 6.3-STABLE on 28/5/08 [regression]
Date: Mon, 18 Aug 2008 15:21:31 +0200
> On 24-Apr-08 changes needed to support kernel mode NFS locking were
> MFC'ed to RELENG_6. As part of this change, the semantics of fcntl()
> were extended. In order to deal with older binaries, the
> implementation of fcntl() in "lib/libc" was changed from a direct
> system call to a varargs wrapper: __fcntl_compat().
>
> Binary calling conventions for varargs and ordinary functions differ
> on the AMD64. In particular callers of varargs functions use the %al
> register to pass in a 'hidden' value to the callee.
>
> So the changes needed to unbreak Modula-3/CVSup are:
>
> 1) Augment the M3 definition of 'struct flock' with a new l_sysid
> field; this should be harmless on older, pre-NFS-kernel-locking
> systems.
>
> 2) Despatch M3's "fcntl" to a C function "ufcntl" that translates
> between the two calling conventions.
>
> The following patch implements the fix. Since it stacks over pav@'s
> amd64 patch set, it needs to be applied after first running 'make
> patch' and before a subsequent 'make install'.
>
> pav@, maintainer of the CVSup/AMD64 patch set is CC'ed.
Thanks, this fixes the crashes for me. I will update the port today.
--
Pav Lucistnik <pav at oook.cz>
<pav at FreeBSD.org>
The Novice rogue. A rather shifty individual
More information about the freebsd-bugs
mailing list