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 CFLAGS_REQUIRED_ppc 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 @@
  LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
  CFLAGS_REQUIRED_arm     += -fsigned-char -D_LITTLE_ENDIAN
  CFLAGS_REQUIRED_ppc     += -fsigned-char -D_BIG_ENDIAN
+CFLAGS_REQUIRED_ppc64   += -fsigned-char -D_BIG_ENDIAN
  ifeq ($(ZERO_BUILD), true)
    CFLAGS_REQUIRED       =  $(ZERO_ARCHFLAG)
    ifeq ($(ZERO_ENDIANNESS), little)


--

Best Regards,
Sean Chou

Reply via email to