The last time I tried this you needed to patch binutils on Mac OS because of the tighter restrictions on accessing "environ".
You'll need to do something like this (I forget where it's used): #ifdef __APPLE__ #include <crt_externs.h> #define environ (*_NSGetEnviron()) #endif On Apr 20, 2012, at 1:42 PM, Volker Simonis wrote: > Actually there is no. > > But it's very easy to build hsdis - it's just one .c and one .h file. > You just need to build binutils for your platform first (.configure; > make) and than compile and link hsdis.c against libbfd.a, libopcodes.a > and libiberty.a from binutils. > This all can easily be done manually with just a few commands but it > would be of course much better if you could provide a patch for the > Makefile:) > > > On Fri, Apr 20, 2012 at 6:52 PM, Henri Gomez <[email protected]> wrote: >> I'll look into build logs (thanks Jenkins) >> >> BTW, I didn't see OSX or Darwin support into hsdis Makefile. >> >> Le 20 avr. 2012 à 17:08, Volker Simonis <[email protected]> a écrit : >> >>> Somehow you managed to build a "fastdebug" JDK with a still optimized >>> HotSpot VM: >>> >>> OpenJDK 64-Bit Server VM (build 24.0-b04, mixed mode) >>> >>> For -XX:+PrintOptoAssembly to work, you need a debug or fastdebug VM: >>> >>> OpenJDK 64-Bit Server VM (build 22.0-b01-internal-jvmg, mixed mode) >>> >>> You can easily build it from hotspot/src/make with these commands >>> >>> ALT_BOOTDIR=<java_7_directory> >>> ALT_OUTPUTDIR=<your_favourite_output_dir> make jvmg >>> ALT_BOOTDIR=<java_7_directory> >>> ALT_OUTPUTDIR=<your_favourite_output_dir> make fastdebug >>> >>> for the debug and fastdebug case. >>> >>> Or you can try to find out why SKIP_FASTDEBUG_BUILD=false hasn't been >>> properly propagated into the HotSpot make file:) >>> >>> Regards, >>> Volker >>> >>> On Fri, Apr 20, 2012 at 1:58 PM, Henri Gomez <[email protected]> wrote: >>>> Well, it seems my build is not fully debug enabled : >>>> >>>> java -version -XX:+PrintOptoAssembly >>>> openjdk version "1.8.0-jdk8-b30-x64-lambda-fastdebug" >>>> OpenJDK Runtime Environment (build >>>> 1.8.0-jdk8-b30-x64-lambda-fastdebug-20120420) >>>> OpenJDK 64-Bit Server VM (build 24.0-b04, mixed mode) >>>> >>>> --- >>>> >>>> java -XX:+PrintOptoAssembly >>>> Unrecognized VM option 'PrintOptoAssembly' >>>> Error: Could not create the Java Virtual Machine. >>>> Error: A fatal exception has occurred. Program will exit. >>>> >>>> --- >>>> >>>> java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly >>>> OpenJDK 64-Bit Server VM warning: PrintAssembly is enabled; turning on >>>> DebugNonSafepoints to gain additional output >>>> Could not load hsdis-amd64.dylib; library not loadable; PrintAssembly >>>> is disabled >>>> Syntaxe : java [-options] class [args...] >>>> >>>> Hum ;-( >>>> >>>> 2012/4/20 Remi Forax <[email protected]>: >>>>> Just hsdis, but maybe the one from Graal that use a better assembler >>>>> syntax. >>>>> >>>>> Rémi >>>>> >>>>> Sent from my Phone >>>>> >>>>> ----- Reply message ----- >>>>> From: "Krystal Mok" <[email protected]> >>>>> To: "Remi Forax" <[email protected]> >>>>> Cc: <[email protected]> >>>>> Subject: OpenJDK 8 and fastdebug >>>>> Date: Fri, Apr 20, 2012 09:44 >>>>> I see. That makes sense.BTW, is it hsdis, or is there a new disassembler >>>>> plugin? >>>>> >>>>> - Kris >>>>> >>>>> On Fri, Apr 20, 2012 at 3:35 PM, Remi Forax <[email protected]> wrote: >>>>> >>>>> The idea is to bundle jadis with the fast debug VM. >>>>> >>>>> Rémi >>>>> >>>>> Sent from my Phone >>>>> >>>>> >>>>> ----- Reply message ----- >>>>> From: "Krystal Mok" <[email protected]> >>>>> To: "Rémi Forax" <[email protected]> >>>>> >>>>> Cc: <[email protected]> >>>>> Subject: OpenJDK 8 and fastdebug >>>>> Date: Fri, Apr 20, 2012 08:55 >>>>> >>>>> >>>>> PrintAssembly is available in product builds, too. You'll just need to >>>>> set -XX:+UnlockDiagnosticVMOptions before setting -XX:+PrintAssembly. >>>>> >>>>> On the other hand, -XX:+PrintOptoAssembly is only available in a debug >>>>> build. >>>>> >>>>> - Kris >>>>> >>>>> On Fri, Apr 20, 2012 at 2:00 PM, Rémi Forax <[email protected]> wrote: >>>>> >>>>> >>>>> On 04/20/2012 07:28 AM, Henri Gomez wrote: >>>>> >>>>> >>>>> Just set >>>>> >>>>> >>>>> >>>>> SKIP_FASTDEBUG_BUILD=false >>>>> >>>>> >>>>> >>>>> (I don't know what role DEBUG_NAME plays) >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Relative question, how can I check a java exec is in fastdebug mode ? >>>>> >>>>> >>>>> >>>>> >>>>> Check "java -version", it will show it is fastdebug. >>>>> >>>>> >>>>> It seems good >>>>> (http://openjdk-osx-build.googlecode.com/files/OpenJDK-OSX-8-x64-lambda-fastdebug-jdk-b30-20120420.dmg) >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> openjdk version "1.8.0-jdk8-b30-x64-lambda-fastdebug" >>>>> >>>>> OpenJDK Runtime Environment (build >>>>> 1.8.0-jdk8-b30-x64-lambda-fastdebug-20120420) >>>>> >>>>> OpenJDK 64-Bit Server VM (build 24.0-b04, mixed mode) >>>>> >>>>> >>>>> >>>>> Thanks >>>>> >>>>> >>>>> >>>>> >>>>> Many thanks, Henry, >>>>> >>>>> now people can use -XX:+PrintAssembly :) >>>>> >>>>> >>>>> >>>>> Rémi
