On Wednesday 30 April 2014 23:18:40 PM Dmitry Samersoff wrote: > Erik, > > Sorry, missed the thread.
No problem, thanks for having a look! On Wednesday 30 April 2014 23:18:40 PM Dmitry Samersoff wrote: > Changes (option 2) looks good for me. Thanks! Erik On Wednesday 30 April 2014 23:18:40 PM Dmitry Samersoff wrote: > -Dmitry > > On 2014-02-10 19:21, Erik Helin wrote: > > 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, IMPORT_JDK and > >> jni_md.h. > >> > >> The bug manifests itself when using an IMPORT_JDK which > >> include/linux/jni_md.h has a timestamp that is older than > >> hotspot/src/cpu/x86/jni_x86.h. When this happens, the Makefiles will > >> copy hotspot/src/cpu/x86/jni_x86.h to > >> hotspot/build/jdk-linux-amd64/fastdebug/include/linux/jni_md.h. > >> > >> The issue is that hotspot/src/cpu/x86/jni_x86.h differs slightly from > >> jdk/include/jni.h, since it is used for all operating systems: > >> > >> #if defined(SOLARIS) || defined(LINUX) || defined(_ALLBSD_SOURCE) > >> ... // 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 jni_x86.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