JDK 9 fails to build on MIPS

David Holmes david.holmes at oracle.com
Thu Dec 1 13:20:07 UTC 2016

Hi James,

On 1/12/2016 3:50 AM, James Cowgill wrote:
> Hi,
> Firstly I have never submitted anything to OpenJDK before so apologies
> if I haven't done things the right way. I also have no bug number for this.

First let me say thanks for the contribution. Information on 
contributing is here:


For any non-trivial contribution to be accepted you would need to sign 
the OCA. Though in this case this is arguably a variation of the AIX 
code anyway.

> OpenJDK 9 does not build on MIPS machines and hasn't for some time. This
> is due to code in hotspot which assumes NSIG <= 65 which is not the case
> on MIPS since MIPS has 127 signal numbers.

Given MIPS is not supported and the MIPS porting project seems dormant, 
if not dead, I am surprised if this is the only thing that will prevent 
you from building on MIPS. And even if you do build okay I'm not sure 
what you can run - zero intepreter?

> I've attached an initial patch which converts the offending code in
> hotspot/src/os/linux/vm/jsig.c to use sigset_t instead of an array to
> store the used signals. I notice the AIX implementation of jsig.c
> already does this.

In your patch, as Thomas pointed out, you use 
__attribute__((constructor)) which is not something we use within the 
hotspot code (maybe we should and maybe someday we will, but that day is 
not today). Initialization can be handled as Thomas suggested and as 
already done in the AIX version. Is there any reason for the AIX and 
Linux versions to actually be different?

That said, given that this patch does nothing to fix the supported 
OpenJDK 9 platforms it would have to be considered an enhancement and we 
are closed to new enhancements for JDK 9. The JDK 10 repos will be 
opening very soon though, and I think consolidating the different 
versions of jsig.c might be worthwhile.


> Originally from: https://bugs.debian.org/841173
> Thanks,
> James

More information about the hotspot-dev mailing list