Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jun 2011 20:02:30 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        src-committers@FreeBSD.org, Alan Cox <alc@FreeBSD.org>, svn-src-all@FreeBSD.org, Attilio Rao <attilio@FreeBSD.org>, "Bjoern A. Zeeb" <bz@FreeBSD.org>, svn-src-head@FreeBSD.org
Subject:   Re: svn commit: r223307 - head/sys/vm
Message-ID:  <5AD3FA55-7A8D-49A2-9A49-A0D9EDF41DCF@bsdimp.com>
In-Reply-To: <20110622090856.A2727@besplex.bde.org>
References:  <201106191913.p5JJDOqJ006272@svn.freebsd.org> <BBC34F79-FFA7-4A05-83B3-DE17E0AB14D0@FreeBSD.org> <20110622063258.D2275@besplex.bde.org> <BANLkTi=7WnYPQRwE4Hi472DuJz91d1sK=g@mail.gmail.com> <20110622090856.A2727@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jun 21, 2011, at 5:29 PM, Bruce Evans wrote:

> On Tue, 21 Jun 2011, Attilio Rao wrote:
>=20
>> 2011/6/21 Bruce Evans <brde@optusnet.com.au>:
>>>> vm_page.o: In function `vm_page_clear_dirty':
>>>> /sys/vm/vm_page.c:(.text+0x18d0): undefined reference to =
`atomic_clear_8'
>>>> /sys/vm/vm_page.c:(.text+0x18d0): relocation truncated to fit: =
R_MIPS_26
>>>> against `atomic_clear_8'
>>>> vm_page.o: In function `vm_page_set_validclean':
>>>> /sys/vm/vm_page.c:(.text+0x38f0): undefined reference to =
`atomic_clear_8'
>>>> /sys/vm/vm_page.c:(.text+0x38f0): relocation truncated to fit: =
R_MIPS_26
>>>> against `atomic_clear_8'
>>>=20
>>> Atomic types shorter than int cannot be used in MI code, since they =
might
>>> not exist. =C2 Apparently they don't exist on mips. =C2 jake@ fixed =
all their
>>> old uses for sparc4 in ~Y2K.
>>=20
>> I'm sure they do, they exist in support.S though and may not have the
>> _8 form (they may just have the _char version). I may look at the =
code
>> again to be sure.
>=20
> Perhaps more like the reverse.  They are correctly spelled with _char
> form in the C code.  This is needed to match the declarations of the
> variables literally.  They are translated to the _8 form by
> <machine/atomic.h> but the _8 form doesn't exist.  I think the acq and
> rel forms exist in <machine/atomic.h>.  mips/support.S only has a =
limited
> set of atomics, including clear_16 but not including clear_8.

Yup.

> Anyway, they shouldn't be used in either form.  They certainly don't
> exist on sparc64, but sparc64 compiles because it is on the other half
> of the ifdef.  sparc64 atomic support is actually 4 times smaller than
> mips atomic support, not just 2.5 times, since it doesn't have extras
> in support.S.

I'm not sure what you are saying...

Warner




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5AD3FA55-7A8D-49A2-9A49-A0D9EDF41DCF>