Ivan Popov wrote: > Tim, > > I see you have modified jdktools build a lot. Now it uses classlibs's > make scripts to build native code, rather then jdktools's ones. It uses the HDK's -- if you have that pointing at the classlib/deploy directory then they are the same thing. There is more work to do. The jdktools project still has a copy of the properties.xml, which it should share from the HDK (but we don't put it in there right now) so I just fixed it up a bit already. > Good > consequence is that jdktools build now supports freebsd and apple > platforms. But jdktools build now depends on the build settings in > classlib's build. I think it's OK in general, but this exposed a few > problems. They should be build settings for the entire build once we get them shared properly. > After the latest changes, there is a problem with using JPDA binaries > built with old gcc 3.3.3 on linux/x86 (SLES9), which are not > reproduced for GCC 4.0. JPDA is written in C++ and using C++ > exceptions leads to VM crash. Adding -fpic solves this problem for GCC > 3.3.3. > > I'm not sure if any classlib modules are written in C++. But using > -fpic on linux/x86 is safe and can be added to classlib's make scripts > to resolve problems with jdktools modules. Can you try this patch in working_jdktools/modules/jpda/src/ and let me know if it fixes the problem: Index: main/native/jdwp/unix/agent/makefile =================================================================== --- main/native/jdwp/unix/agent/makefile (revision 534796) +++ main/native/jdwp/unix/agent/makefile (working copy) @@ -22,6 +22,8 @@ COMMON=../../common/ CMNAGENT=$(COMMON)agent/ +CFLAGS += -fpic + INCLUDES += -I$(CMNAGENT)commands -I$(CMNAGENT)core \ -I$(COMMON)generic -Icore Index: main/native/jdwp/unix/transport/makefile =================================================================== --- main/native/jdwp/unix/transport/makefile (revision 534796) +++ main/native/jdwp/unix/transport/makefile (working copy) @@ -26,6 +26,8 @@ COMMON=../../common/ CMNTRANS=$(COMMON)transport/ +CFLAGS += -fpic + INCLUDES += -I$(CMNTRANS)common -I$(CMNTRANS)dt_socket \ -I$(COMMON)generic -Idt_socket > The other minor problem is that classlib's make scripts don't define > NDEBUG macro for release mode, so all debug/trace code is included > into release build. This also should be fixed. Sorry, which macro is that? > If nobody objects to such modification of classlib's builds, I'll > submit JIRA and provide patch. They should just be done locally as they are elsewhere. Regards, Tim