Hi,

Could I please get reviews for this 8u only change? The JDK 8u build
logic for launcher files includes linker version script files (a.k.a
mapfiles). The script file for x86 (32bit) marks symbol _IO_stdin_used
as local. When the symbol is not visible to the dynamic loader, glibc
will use a legacy stdio implementation instead. This is a historic, x86
(32bit) only glibc issue, I've been told.

The suggested fix is to mark _IO_stdin_used as global in the linker
version script on x86 (32bit) so that the non-legacy implementation of
stdio will be used for launcher files of OpenJDK 8u.

Bug: https://bugs.openjdk.java.net/browse/JDK-8226392
webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8226392/01/webrev/

Testing: "eu-readelf --symbols=.dynsym /path/to/java | grep _IO". I.e. manual
         on a x86 build.

Note that JDK 11+ have _IO_stin_used visible already.

I can add the same to other arches map files if that's preferred (it
should be harmless). For now, I've opted to add it to x86 only where we
know this is a problem.

Thanks,
Severin

Reply via email to