hotspot 32-bit on 64-bit "cross-compile" broken
Erik Joelsson
erik.joelsson at oracle.com
Tue Sep 18 03:39:54 PDT 2012
On 2012-09-18 11:39, David Holmes wrote:
>
>> the hotspot makefiles changed recently (as in after the last build-infra
>> push to jdk8), which caused the spec.gmk to get indirectly included
>> again at a later stage, after gcc.make (and friends) have been
>> evaluated.
>
> If something is being done incorrectly here let me know and I will fix
> it. We are just about the push the minimal VM changes and that will
> require a follow up to make build-infra recognize the minimal
> JVM_VARIANT.
>
>
I'm not sure if incorrect is the correct term. Here follows an
explanation of what I think went wrong and why:
In "7154641: Servicability agent should work on platforms other than
x86, sparc", the following was added to saproc.make:
include $(GAMMADIR)/make/defs.make
saproc.make is in turn included by vm.make where I'm assuming the
assembly compilation is taking place.
ASFLAGS is defined in gcc.make using '='.
In rules.make AS.S is defined as AS.S = $(AS) $(ASFLAGS)
Now, since vm.make includes saproc.make, which includes defs.make, which
includes spec.gmk, ASFLAGS gets overwritten, and since it's using lazy
evaluation, AS.S is effectively changed too.
I think the correct solution in this case was to not have configure and
spec mess with ASFLAGS at all, and that's what I've done now.
/Erik
More information about the build-infra-dev
mailing list