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

David Holmes dholmes at openjdk.java.net
Sun Nov 22 22:56:50 UTC 2020


On Sun, 22 Nov 2020 18:43:45 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> There is no os::workaround_expand_exec_shield_cs_limit symbol available:
>> 
>> 
>> collect2: error: ld returned 1 exit status
>> 
>> That symbol is defined in `os_linux_x86.cpp`, which is not available to Zero that builds `os_linux_zero.cpp`.
>> [JDK-8248271](https://bugs.openjdk.java.net/browse/JDK-8248271) added the declaration to `os_linux_zero.hpp`, but that is not enough, because the definition is still missing. I propose we move the definition up the hierarchy, to `os_linux.cpp` and protect it firmly with `IA32`.
>> 
>> Additional testing:
>>  - [x] Linux {x86_32, x86_64} server builds
>>  - [x] Linux {x86_32, x86_64} zero builds
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Put the #ifdef to protect the comment too

I guess I'm somewhat surprised that Zero doesn't need anything that is in os_linux_x86.cpp when building for x86. It sets a bad precedent to move CPU specific code to shared code just because zero doesn't conform to the expected use of cpu specific code.
Does Zero actually need this code, or could we make the call conditional?
Thanks,
David

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

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


More information about the hotspot-runtime-dev mailing list