RFR: 8256618: Zero: Linux x86_32 build still fails [v4]

Aleksey Shipilev shade at openjdk.java.net
Tue Nov 24 08:54:04 UTC 2020


On Tue, 24 Nov 2020 07:01:49 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>>> 
>>> I think this code applies to all x86 variants. As the alternative, we can skip it for Zero, hoping that Zero x86 would never face a bug like this code tries to work around.
>> 
>> Well, if we assume Zero will never be used on x86, which seems reasonable, then it doesn't matter. But if it will be used, then there is a real problem with the invocation interface.
>
> I don't think Zero x86 is widely built or tested so no-one may have noticed until now.
> 
> I prefer this to be fixed too. Why leave this unfixed if we can fix it.
> 
> If we do not want code duplication but putting it into os_linux.cpp is an eyesore, I'd suggest to move it into an own implementation file, e.g. "os/linux/x86_exec_shield_workaround.cpp", with a clear comment that this is needed for zero.

Zero had suffered from years of neglect, and I believe the last time anyone tried to build Zero x86_32 was when Gary Benson did significant work on it back in 2009. The workaround for IA32 landed in 2013. So it stands to reason Zero x86_32 was broken ever since. In fact, even after this workaround, I see the unrelated Zero-specific IA32_ONLY assertions on Hello World.

Zero x86_32 seems to be the only Zero config that fails to build at the moment. So, at this point I am willing to make a concession and just disable the workaround for Zero to get it to build. If we discover the workaround is needed, then we can revisit how Zero uses `os_linux_*` code.

That is what new commit does.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1310


More information about the hotspot-runtime-dev mailing list