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