[RFR] JDK-8156980: Hotspot build doesn't have -std=gnu++98 gcc option

David Holmes david.holmes at oracle.com
Tue Jul 12 01:25:17 UTC 2016


Catching up ...

On 11/07/2016 7:05 AM, Andrew Hughes wrote:
>
>
> ----- Original Message -----
>>> On Jul 8, 2016, at 2:38 AM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
>>>
>>> Hello,
>>>
>>> This looks good except for the change in toolchain.m4, which looks like it
>>> might actually break cross compilation by overriding the value for
>>> compiler version for the build compiler using the target compiler. With
>>> this change we basically have:
>>>
>>> if cross compilation
>>>  TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_])
>>> else
>>>  ...
>>> fi
>>> TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([], [OPENJDK_BUILD_])
>>>
>>> The problem you are trying to solve is that in the case of not cross
>>> compilation, the TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS macro wasn't
>>> called with "OPENJDK_BUILD_". Kim's suggested patch was to add the call in
>>> the else clause.
>>
>> Good catch!  I totally missed that when reviewing.
>>
>>
> Yes, good catch! The indenting on the bug report must have confused me.
>
> Fixed version:
>
> http://cr.openjdk.java.net/~andrew/8156980/webrev.06/root/
> http://cr.openjdk.java.net/~andrew/8156980/webrev.06/hotspot

I was glad to see you realized that parts of the hotspot build (libjsig, 
libdtrace) only deal with C programs not C++ and so don't want and 
should not have a C++ setting passed. But that then begs the question in 
the main build in flags.m4 why we have:

  $2JVM_CFLAGS="${$2JVM_CFLAGS} ${$2CXXSTD_CXXFLAG}"

which again adds a C++ related flags to what should be the C compilation 
flags ??

Thanks,
David
-----

> HotSpot webrev is unchanged.
>
> Thanks,
>



More information about the build-dev mailing list