RFR: 8034094: SA agent can't compile when jni_x86.h is used (original) (raw)
Erik Helin erik.helin at oracle.com
Mon Feb 10 15:21:45 UTC 2014
- Previous message (by thread): RFR:
- Next message (by thread): RFR: JDK-8034098: Configure leaves 'a.out' in root dir.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Sigh, I forgot the subject...
"RFR: 8034094: SA agent can't compile when jni_x86.h is used"
Thanks, Erik
On 2014-02-10 16:08, Erik Helin wrote:
Hi all,
this patch fixes an issue with HotSpot's makefiles, IMPORTJDK and jnimd.h. The bug manifests itself when using an IMPORTJDK which include/linux/jnimd.h has a timestamp that is older than hotspot/src/cpu/x86/jnix86.h. When this happens, the Makefiles will copy hotspot/src/cpu/x86/jnix86.h to hotspot/build/jdk-linux-amd64/fastdebug/include/linux/jnimd.h. The issue is that hotspot/src/cpu/x86/jnix86.h differs slightly from jdk/include/jni.h, since it is used for all operating systems: #if defined(SOLARIS) || defined(LINUX) || defined(ALLBSDSOURCE) ... // common stuff #else ... // windows stuff #endif We compile the SA agent, see make/linux/makefiles/saproc.make, without defining LINUX (LINUX is hotspot's own define, gcc uses linux). In my opinion, there are two ways to solve this: 1. Add -DLINUX to make/linux/makefiles/saproc.make (and corresponding defines for Solaris and BSD). 2. Rewrite the #if check in jnix86.h to use platform specific "native" defines. I've created a patch for each alternative: 1: http://cr.openjdk.java.net/~ehelin/8034094/webrev.1/ 2: http://cr.openjdk.java.net/~ehelin/8034094/webrev.2/ For the second patch, note that I've inverted the #if check so that it checks for WIN32 is defined and treat all others operating systems as "#else". Bug: https://bugs.openjdk.java.net/browse/JDK-8034094 Testing: - Compiled both version locally and made sure it worked - JPRT Thanks, Erik
- Previous message (by thread): RFR:
- Next message (by thread): RFR: JDK-8034098: Configure leaves 'a.out' in root dir.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]