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.
This commit is contained in:
Ian Lepore 2015-10-18 01:03:43 +00:00
parent 9919dec83c
commit 9a74ac77b8

View 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"