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>