]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Fix a strange macro re-definition compile error. If the VM_MAXUSER_ADDRESS
authorian <ian@FreeBSD.org>
Sun, 18 Oct 2015 01:03:43 +0000 (01:03 +0000)
committerian <ian@FreeBSD.org>
Sun, 18 Oct 2015 01:03:43 +0000 (01:03 +0000)
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.

sys/arm/mv/std-pj4b.mv

index ed9fd00bab692d087ac2436ce49744d185e72629..8a64fab7bc1e668e3280d59ed03d7851135da57c 100644 (file)
@@ -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"