Hi Sean, honestly speaking, I wasn't aware of this problem until now and I just checked that we currently don't use this option, neither internally nor in our port. I found the following nice explanation of the issue: http://www.network-theory.co.uk/docs/gccintro/gccintro_71.html
It seems that you only get problems if your programs relies on the fact that 'char' is either unsigned or signed. I suppose that the current OpenJDK doesn't rely on such assumptions (which is good) because we didn't saw any of them until now. If I understand you right, you add some closed code the the JDK which has problems because it makes such assumptions. Is that right? If yes, you should probably first fix that code in the way described in the referenced document. Wouldn't that be possible? Regarding your patch: I suppose you took it against an original JDK and not our port, because in our port we already have the following lines (at least in http://hg.openjdk.java.net/ppc-aix-port/jdk7u//jdk because we haven't started to work on jdk8 until now) CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN CFLAGS_REQUIRED_ppc64 += -m64 LDFLAGS_COMMON_ppc64 += -m64 -L/lib64 -Wl,-melf64ppc Notice that we don't set '-D_BIG_ENDIAN' because it is the default. Didn't you observed your problems with jdk7 on Linux/PPC? I think we should patch JDK7 first if this is really necessary. Regards, Volker On Fri, Dec 21, 2012 at 10:40 AM, Sean Chou <zho...@linux.vnet.ibm.com>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 >