[head tinderbox] failure on sparc64/sun4v

Kip Macy kip.macy at gmail.com
Sat Nov 4 07:46:33 UTC 2006


Sparc64 only supports CAS on 4 and 8 byte quantities. The only
operation it support on 16 bytes is load.

     -Kip

On 11/3/06, John Birrell <jb at what-creek.com> wrote:
> On Sat, Nov 04, 2006 at 01:04:21AM -0500, FreeBSD Tinderbox wrote:
> > [...]
> > /src/sys/netinet/sctp_pcb.c:3394: warning: previous implicit declaration
> of 'atomic_add_16' was here
> > /src/sys/netinet/sctp_pcb.c:3470: warning: nested extern declaration of
> `atomic_add_16'
> > /src/sys/netinet/sctp_pcb.c:3394: warning: redundant redeclaration of
> 'atomic_add_16'
> > /src/sys/netinet/sctp_pcb.c:3394: warning: previous implicit declaration
> of 'atomic_add_16' was here
> > /src/sys/netinet/sctp_pcb.c: In function `sctp_load_addresses_from_init':
> > /src/sys/netinet/sctp_pcb.c:4382: warning: nested extern declaration of
> `atomic_add_16'
> > /src/sys/netinet/sctp_pcb.c:3394: warning: redundant redeclaration of
> 'atomic_add_16'
> > /src/sys/netinet/sctp_pcb.c:3394: warning: previous implicit declaration
> of 'atomic_add_16' was here
> > *** Error code 1
>
> This is a problem on sparc64 and sun4v because we don't have an
> atomic_add_16.
>
> I looked at the code in Solaris to see what asm is required to implement
> it and it takes 22 statements compared to 2 for a 64 bit variable and 4 for
> a 32 bit variable.
>
> Can't the code be changed to use a more typical variable size of the
> arches we have? 32 bits would be a better choice.
>
> --
> John Birrell
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>


More information about the freebsd-current mailing list