svn commit: r289477 - head/sys/arm/mv
Konstantin Belousov
kostikbel at gmail.com
Sun Oct 18 09:46:09 UTC 2015
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 ?
More information about the svn-src-head
mailing list