summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-10-18 01:03:43 +0000
committerian <ian@FreeBSD.org>2015-10-18 01:03:43 +0000
commit522b95ca9c9cefc2ee62bf1650ed2f2909d42886 (patch)
tree7eb4d6739ad696c3fc91fa8616694d4b66cd6516 /sys/arm
parent88a4a1403b18f1c162ce780a04ea5884aa2c2afa (diff)
downloadFreeBSD-src-522b95ca9c9cefc2ee62bf1650ed2f2909d42886.zip
FreeBSD-src-522b95ca9c9cefc2ee62bf1650ed2f2909d42886.tar.gz
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.
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/mv/std-pj4b.mv6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arm/mv/std-pj4b.mv b/sys/arm/mv/std-pj4b.mv
index ed9fd00..8a64fab 100644
--- a/sys/arm/mv/std-pj4b.mv
+++ b/sys/arm/mv/std-pj4b.mv
@@ -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"
OpenPOWER on IntegriCloud