[8u20] Request for approval for CR 8031737: CHECK_NULL and CHECK_EXCEPTION macros cleanup

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Thu Feb 20 15:15:36 UTC 2014


Hi,

I request to backport
  8030875: Macros for checking and returning on exceptions
to jdk8u.

This is needed, as
  8031737: CHECK_NULL and CHECK_EXCEPTION macros cleanup
was downported, that introduces the macros in jni_util.h,
while 8030875 removed them in various other files.

Parts of this were already fixed in
  8034912: backport of 8031737 to jdk8u breaks linux buld.
but that fix is not complete.
Currently, the aix build is broken because of that.  Also
on linux a warning is issued.  For the traces see below.

The change does not apply completely, as parts were done by
the other two mentioned. The remaining parts are here:
http://cr.openjdk.java.net/~goetz/webrevs/8030875-backport/
The individual patches in this change are unchanged.

The original change:
http://hg.openjdk.java.net/jdk9/hs-comp/jdk/rev/c58c6b0fbe34
The bugid:
https://bugs.openjdk.java.net/browse/JDK-8030875
The change on top of this:
http://hg.openjdk.java.net/jdk9/hs-comp/jdk/rev/fb89dc4fe8da
In jdk8u:
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/49f1903a21c1

The change applies to both, jdk8u-dev and ppc-aix-port/stage. I would
propose to push it to jdk8u-dev.

Best regards,
  Goetz.


The build error on aix:

jni.cpp includes both, defines.h and jni_util.h.  And both headers define CHECK_NULL.

/bin/xlC_r -D_BIG_ENDIAN -DAIX -DPPC64 -DDEBUG -DARCH='"ppc64"' -Dppc64 -DRELEASE='"1.8.0-internal-fastdebug"' -I.../jdk/include -I.../jdk/include/aix -I.../jdk/src/share/javavm/export -I.../jdk/src/solaris/javavm/export -I.../jdk/src/share/native/common -I.../jdk/src/solaris/native/common -qchars=signed -q64 -qfullpath -qsaveopt -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC -g -qpic=large -I.../jdk/gensrc_headers -DNO_ZLIB -DUNPACK_JNI -DFULL      -O2  -DTHIS_FILE='"jni.cpp"' -c -qmakedep=gcc -MF .../jdk/objs/libunpack/jni.d -o .../jdk/objs/libunpack/jni.o .../jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
".../jdk/src/share/native/com/sun/java/util/jar/pack/defines.h", line 161.9: 1540-0848 (S) The macro name "CHECK_NULL" is already defined with a different definition.
".../jdk/src/share/native/common/jni_util.h", line 286.9: 1540-0425 (I) "CHECK_NULL" is defined on line 286 of ".../jdk/src/share/native/common/jni_util.h".


The warning on linux:

In file included from .../jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:39:
.../jdk/src/share/native/com/sun/java/util/jar/pack/defines.h:161:1: warning: "CHECK_NULL" redefined
In file included from .../jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:37:
.../jdk/src/share/native/common/jni_util.h:286:1: warning: this is the location of the previous definition
echo  "Compiling utils.cpp (for libunpack.so)"



More information about the jdk8u-dev mailing list