Date: Sun, 18 Oct 2015 10:19:39 -0600 From: Ian Lepore <ian@freebsd.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r289477 - head/sys/arm/mv Message-ID: <1445185179.71631.50.camel@freebsd.org> In-Reply-To: <20151018094602.GF2257@kib.kiev.ua> References: <201510180103.t9I13h0w056671@repo.freebsd.org> <20151018094602.GF2257@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1445185179.71631.50.camel>