Coming soon: JDK 9 Platform/Compiler upgrades at Oracle
Erik Joelsson
erik.joelsson at oracle.com
Wed Jun 11 07:21:31 UTC 2014
On 2014-06-10 18:34, Martin Buchholz wrote:
>
>
>
> On Tue, Jun 10, 2014 at 12:29 AM, Erik Joelsson
> <erik.joelsson at oracle.com <mailto:erik.joelsson at oracle.com>> wrote:
>
>
> On 2014-06-10 00:27, Martin Buchholz wrote:
>> AFAIK there is no way to build with a newer compiler and remain
>> compatible with older runtimes.
>>
>> Are you actually using gcc 4.8 built in some magic
>> backward-compatible way or are you using an older gcc?
>> If you have magic spells, please share.
>>
> It depends on what you mean by "runtime". It's true that the
> version of libstdc++ a binary requires depends only on the version
> of GCC used to compile it. When building OracleJDK, Hotspot is
> already statically linking libstdc++ to avoid these kinds of
> problems. For glibc, it's like David Holmes says, we only provide
> an old glibc so the compiler and linker accepts it. No magic
> unfortunately.
>
>
> The greatest compatibility comes from old versions of all aspects of
> the compilation environment.
> It's safest to actually build on an old OS, else it's easy for things
> in /usr/include and /usr/lib to creep into the build process (although
> --sysroot helps - I assume that's what you're using to point to an old
> glibc and other system libs?).
I agree it's safer to build on the old OS. It does however also bring a
cost for maintenance that we would like to avoid. Keeping Fedora 9
around for the lifetime of JDK 8 is not something we are looking forward
to.
Yes, we use sysroot so the compilation process is only using headers and
linking to libraries from the old OS.
As for other possible incompatibilities, for OracleJDK, we have a set of
platforms that we officially support, and we test on them. If we
discover issues we will certainly have to fix them.
OpenJDK should still work with older compilers until a decision is made
to use newer features from a newer compiler, but as with any open source
project, it's the responsibility of the users of those older compilers
to keep it working.
/Erik
More information about the jdk9-dev
mailing list