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


Yes, it should fix the problem locally (on 64-bit Linux it will
produce two -fpic). But, I''d prefer to put it to common platform
dependent settings for Linux/x86. I'm not sure it will work for
freebsd or macos.

> 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?

This macro controls compilation of standard assert() macro (man
assert) and is usually used for adding debug and tracing stuff to
debug builds. It is intensively used in JPDA code to facilitate
tracing JPDA support. I've found it also in some classlib modules. It
makes sense to add setting this macro for release build.

MSVC also uses _DEBUG macro for C++ runtime, which is set
automatically in debug mode. But it's MSVC specific.

Thanks.
Ivan

> 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

Reply via email to