harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [classlib][tools] Removing tools module
Date Thu, 03 May 2007 14:37:43 GMT
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

Mime
View raw message