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