svn commit: r275564 - head/sys/arm/arm

Andrew Turner andrew at fubar.geek.nz
Sat Dec 6 19:35:47 UTC 2014


On Sat, 6 Dec 2014 16:15:55 +0100
Dimitry Andric <dim at FreeBSD.org> wrote:

> On 06 Dec 2014, at 12:59, Andrew Turner <andrew at FreeBSD.org> wrote:
> > 
> > Author: andrew
> > Date: Sat Dec  6 11:59:35 2014
> > New Revision: 275564
> > URL: https://svnweb.freebsd.org/changeset/base/275564
> > 
> > Log:
> >  Use the unified syntax when generating assembly for clang. The
> > clang 3.5 integrated assembler only accepts it.
> > 
> >  MFC after:	1 week
> >  Sponsored by:	ABT Systems Ltd
> > 
> > Modified:
> >  head/sys/arm/arm/stdatomic.c
> > 
> > Modified: head/sys/arm/arm/stdatomic.c
> > ==============================================================================
> > --- head/sys/arm/arm/stdatomic.c	Sat Dec  6 10:05:07
> > 2014	(r275563) +++ head/sys/arm/arm/stdatomic.c	Sat
> > Dec  6 11:59:35 2014	(r275564) @@ -850,8 +850,13 @@
> > EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str EMIT_FETCH_AND_OP_N(N,
> > uintN_t, ldr, str, fetch_and_sub, "sub")		\
> > EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_xor, "eor")
> > 
> > +#ifdef __clang__
> > +EMIT_ALL_OPS_N(1, uint8_t, "ldrb", "strb", "strbeq")
> > +EMIT_ALL_OPS_N(2, uint16_t, "ldrh", "strh", "strheq")
> > +#else
> > EMIT_ALL_OPS_N(1, uint8_t, "ldrb", "strb", "streqb")
> > EMIT_ALL_OPS_N(2, uint16_t, "ldrh", "strh", "streqh")
> > +#endif
> > EMIT_ALL_OPS_N(4, uint32_t, "ldr", "str", "streq")
> 
> I already had this change in the clang350-import project branch, but
> unconditional.  Should we just not standardize on the unified syntax,
> so all these ifdefs can be avoided?

Unfortunately gcc 4.2 doesn't produce unified syntax so we need to have
both here. Without this the armeb build failed for me.

Andrew


More information about the svn-src-head mailing list