On Thu, Jun 12, 2014 at 3:53 PM, Andrew Haley <a...@redhat.com> wrote:
> Hi,
>
> On 06/11/2014 06:03 PM, Andrew Hughes wrote:
>>
>> I just stumbled across this when trying to work out why we are seeing 
>> aliasing
>> warnings in the demo code only on PPC builds. They get flagged by our build 
>> process.
>> This exclusion of fno-strict-aliasing on PPC seems to date back to 7027910 
>> in OpenJDK
>> 7, where we are seeing the warnings, and there seems to be no explanation as 
>> to why
>> it was added in either the code or reviews.
>>
>> Given -fno-strict-aliasing is now being used on all architectures in 9, do 
>> you think
>> it's ok to do the same in 7? I could also turn it off on the individual 
>> files, but
>> this would duplicate the flag on other architectures and we may then get 
>> more PPC-only
>> warnings in future.
>
> Never mind the warnings, -fno-strict-aliasing is essential for correctness.
>

I agree that we should set this just to be on the safe side.
Notice that for the HotSpot build this is set unconditionally for all
GCC platfoms in make/{bsd,linux,solaris}/makefiles/gcc.make from jdk 7
through 9.

There's also a bug in GCC < 4.4.1 which incorrectly prints this waring
even in cases where it shouldn't (see "Bug 41874 - Incorrect
"dereferencing type-punned pointer will break strict-aliasing rules"
warning", https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41874)

I just realized that we did all our internal OpenJDK 8/9 Linux/PPC64
builds with "--with-extra-cflags=-Wno-strict-aliasing" because of that
bug. So I'd appreciate if you'd downport your fix to 7 and 8.

Notice that for OpenJDK 7 this issue only affects 32-bit builds,
because it checks for "($(ARCH),ppc)" and ARCH is 'ppc' for 32-bit
builds and ppc64 for 64-bit builds. In 8 this affects both, 32- and
64-bit ppc because it checks for $OPENJDK_TARGET_CPU_ARCH which is
'ppc' for both, the 32- and the 64-bit variant.

Thank you and best regards,
Volker

> Andrew.
>

Reply via email to