> On Oct 4, 2018, at 9:27 AM, Magnus Ihse Bursie 
> <magnus.ihse.bur...@oracle.com> wrote:
>> That all assumes that static build actually works at all; it doesn’t look 
>> like we
>> test that configuration these days, so who knows what bit rot may have set 
>> in.
>> 
> 
> No, we don't test static build, and never have. I'd be surprised if it's 
> still possible to build a static build. 
> 
> This was a feature developed for the mobile project. The static build part 
> was merged, somewhat hastily, into mainline, but the rest of the mobile code 
> is still lingering in the mobile project fork. 
> 
> The entire "static build" concept was somewhat artificially injected in some 
> parts of the build code. It is for instance not possible to build all modules 
> with a static build. At the very least you need to build without 
> java.desktop, if I remember correctly. 
> 
> The motivation for the static build is that on iOS, apps are not allowed to 
> load dynamic libraries (for some reason only Apple knows). So a developer 
> that wants to build a Java app needs to have a static library version of the 
> entire JDK to link with into a single executable Java launcher. So in this 
> perspective, the entire use of dlopen in a static build smells funny, and 
> might be just a left-over from static build being more of a hack than a 
> properly supported build option. 
> 
> /Magnus

The "static build" doesn't build anymore. We're all shocked that this
untested configuration has bit-rotted. :)

LoadJavaVM uses RTLD_NOW in the normal (non-"static build") case, the
workaround is superfluous in that case. Given that, I'm going to
delete the workaround and file an RFE [1] to fix or remove the
currently broken "static build" support, with a comment there
referring to this workaround code as possibly being relevant to fixing
the static build.

[1] https://bugs.openjdk.java.net/browse/JDK-8211732

New webrev:
http://cr.openjdk.java.net/~kbarrett/8211296/open.01/

Reply via email to