On Sun, 2015-10-18 at 12:46 +0300, Konstantin Belousov wrote:
> On Sun, Oct 18, 2015 at 01:03:43AM +0000, Ian Lepore wrote:
> > Author: ian
> > Date: Sun Oct 18 01:03:43 2015
> > New Revision: 289477
> > URL: https://svnweb.freebsd.org/changeset/base/289477
> > 
> > Log:
> >   Fix a strange macro re-definition compile error.  If the
> > VM_MAXUSER_ADDRESS
> >   value is defined as a config option the definition is emitted
> > into
> >   opt_global.h which is force-included into everything.  In
> > addition, the
> >   symbol is emitted by the genassym mechanism, but that by its
> > nature reduces
> >   the value to a 0xnnnnnnnn number.  When compiling a .S file you
> > end up
> >   with two different definitions of the macro (they evaluate to the
> > same
> >   number, but the text is different, upsetting the compiler).
> >   
> >   Nothing has changed about this code for a while but the compile
> > error is
> >   new, so this must be fallout from the clang 3.7 update or
> > something.
> > 
> > Modified:
> >   head/sys/arm/mv/std-pj4b.mv
> > 
> > Modified: head/sys/arm/mv/std-pj4b.mv
> > ===================================================================
> > ===========
> > --- head/sys/arm/mv/std-pj4b.mv     Sun Oct 18 00:59:28 2015        
> > (r289476)
> > +++ head/sys/arm/mv/std-pj4b.mv     Sun Oct 18 01:03:43 2015        
> > (r289477)
> > @@ -5,4 +5,8 @@ cpu         CPU_MV_PJ4B
> >  machine    arm     armv6
> >  makeoptions        CONF_CFLAGS="-march=armv7a"
> >  
> > -options            VM_MAXUSER_ADDRESS="(KERNBASE
> > -(1024*1024*1024))"
> > +# This was originally defined as "(KERNBASE-(1024*1024*1024))" but
> > that
> > +# (in opt_global.h) clashed with the value emitted by genassym
> > which
> > +# reduces the original macro text to its numeric value.  The only
> > way
> > +# to avoid that is to define it here as the numeric value genassym
> > emits.
> > +options            VM_MAXUSER_ADDRESS="0x80000000"
> 
> Genassym started to generate VM_MAXUSER_ADDRESS after r289372.
> Strange that I did not saw the error.
> 
> Why does marvell need this override ?
> 

That is a very good question, to which I found no answer in the svn
history... this value was in the file from day one and the commit
message just says it was obtained from Marvell and Semihalf.  There's
other strange stuff in the arm/mv hierarchy that nobody (except maybe
marvell and semihalf) knows why it's different.

I finally bought myself an ARMADAXP-based system (which this config is
for) about six months ago, but I literally haven't had a chance to take
it out of the box since it arrived. ::sigh::

-- Ian

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to