Coming soon: JDK 9 Platform/Compiler upgrades at Oracle
Martin Buchholz
martinrb at google.com
Thu Jun 12 06:32:18 UTC 2014
Erik,
At Google we struggle with the same kinds of issues and come up with
similar solutions, using fixed libraries and headers to compile against and
using --sysroot.
On Wed, Jun 11, 2014 at 12:21 AM, Erik Joelsson <erik.joelsson at oracle.com>
wrote:
>
> 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>
> 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