hotspot 32-bit on 64-bit "cross-compile" broken

David Holmes david.holmes at oracle.com
Tue Sep 18 02:39:46 PDT 2012


Hi Erik,

On 18/09/2012 7:09 PM, Erik Joelsson wrote:
> I'm not completely sure what you are trying to do, but I've noticed that

All I'm trying to do is build 32-bit JDK on 64-bit linux which has been 
working fine for ages until these recent glitches. :( I'm dependent on 
this working.

> 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 have already fixed one issue that arose from this by setting
> JAVAC_FLAGS?= in the spec file to not override the settings in hotspot.
> Now it seems ASFLAGS is needing the same treatment. Looking closer
> though, I don't see why we are setting ASFLAGS other than for some sense
> of completeness. It's not used by anyone currently. I would rather just
> remove it until it's needed in some way, and then I would prefer using
> the same pattern as we have with LDFLAGS and CFLAGS, which is setting
> specific versions for specific purposes. (CFLAGS_JDKLIB etc).

ASFLAGS is used by the VM - significantly to pass the ARCHFLAG value ie -m32

David
-----


> /Erik
>
> On 2012-09-18 05:30, David Holmes wrote:
>> Did anyone look at this? It will need to be fixed before/with Kelly's
>> proposed JDK8 sync up.
>>
>> Thanks,
>> David
>>
>> On 17/09/2012 10:09 AM, David Holmes wrote:
>>> Looks like the -m32 isn't getting passed to the "assembler"
>>>
>>> /usr/bin/cc -c -fpch-deps -MMD -MP -MF
>>> ../generated/dependencies/linux_x86_32.o.d -o linux_x86_32.o
>>> /java/embedded/users/dh198349/build-infra/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s
>>>
>>>
>>>
>>> /java/embedded/users/dh198349/build-infra/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s:78:
>>>
>>> Error: invalid instruction suffix for `push'
>>> /java/embedded/users/dh198349/build-infra/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s:80:
>>>
>>> Error: invalid instruction suffix for `push'
>>> /java/embedded/users/dh198349/build-infra/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s:134:
>>>
>>> Error: invalid instruction suffix for `pop'
>>> /java/embedded/users/dh198349/build-infra/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s:135:
>>>
>>> Error: invalid instruction suffix for `pop'
>>> /java/embedded/users/dh198349/build-infra/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s:174:
>>>
>>> Error: invalid instruction suffix for `pop'
>>> ...
>>>
>>> David
>>> -----



More information about the build-infra-dev mailing list