PPC Linux 64 needs -fsigned-char option for gcc (original) (raw)

David Holmes david.holmes at oracle.com
Fri Dec 21 13:13:42 UTC 2012


One thing that would be nice to come out of this porting effort is better organisation of platform specific aspects. I would prefer to see an arch.make file for each arch rather than have all these platform specific sections. (It was fine when you only had a couple of flavours but now the balance has shifted).

The JDK ppc/arm references were simply the minimum we needed for our embedded builds to work. They don't really offer proper arm/ppc support. For hotspot we rely on setting ARCH and overriding EXTRA_CFLAGS via the environment or make invocation, so these architectures are not treated as first-class citizens by hotspot.

This particular example is particularly bad because the arm/ppc values are completely different to the kinds of values set for the other archs! I don't even think we continue to use these in the new build.

David

On 21/12/2012 7:40 PM, Sean Chou wrote:

Hello,

We found -fsigned-char is added to ppc platform, but not added to ppc64 platform. As they are different platforms, I think it is needed for ppc64 as well. Currently I just added one line modification as follow, but there may be more places to modify. If some one can give some comments, I can make a complete webrev. The buggy scenario we found needs closed code to reproduce, so it is not reproduced with current openjdk build on ppc linux from AIX porting project. I tested with ibmjdk, the patch works. I found CFLAGSREQUIREDppc is from changeset http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/54d8193f177b . Is it enough to add ppc64 option for places ppc appears in that patch? ///////////////////////// the patch //////////////////////// diff --git a/make/common/Defs-linux.gmk b/make/common/Defs-linux.gmk --- a/make/common/Defs-linux.gmk +++ b/make/common/Defs-linux.gmk @@ -196,6 +196,7 @@ LDFLAGSCOMMONsparc += -m32 -mcpu=v9 CFLAGSREQUIREDarm += -fsigned-char -DLITTLEENDIAN CFLAGSREQUIREDppc += -fsigned-char -DBIGENDIAN +CFLAGSREQUIREDppc64 += -fsigned-char -DBIGENDIAN ifeq ($(ZEROBUILD), true) CFLAGSREQUIRED = $(ZEROARCHFLAG) ifeq ($(ZEROENDIANNESS), little)

-- Best Regards, Sean Chou



More information about the core-libs-dev mailing list