Hi Volker,
Comments below where you might expect them :)
On 10/07/2014 3:36 AM, Volker Simonis wrote:
Hi,
could someone please review and sponsor the following change which
does some preliminary work for enabling the SA agent on Linux/PPC64:
http://cr.openjdk.java.net/~simonis/webrevs/8049715/
https://bugs.openjdk.java.net/browse/JDK-8049715
Details:
Currently, we don't support the SA agent on Linux/PPC64. This change
fixes the buildsystem such that the SA libraries (i.e. libsaproc.so
and sa-jdi.jar) will be correctly build and copied into the resulting
jdk images.
This change also contains some small fixes in sa-jdi.jar to correctly
detect Linux/PPC64 as supported SA platform. (The actual
implementation of the Linux/PPC64 specific code will be handled by
"8049716 PPC64: Implement SA on Linux/PPC64" -
https://bugs.openjdk.java.net/browse/JDK-8049716).
One thing which require special attention are the changes in
make/linux/makefiles/defs.make which may touch the closed ppc port. In
my change I've simply added 'ppc' to the list of supported
architectures, but this may break the 32-bit ppc build. I think the
It wouldn't break it but I was expecting to see ppc64 here.
current code is to verbose and error prone anyway. It would be better
to have something like:
ADD_SA_BINARIES =
$(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX)
$(EXPORT_LIB_DIR)/sa-jdi.jar
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
ADD_SA_BINARIES += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
else
ADD_SA_BINARIES += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
endif
endif
ifneq (,$(findstring $(ARCH), amd64 x86_64 i686 i586 sparc sparcv9 ppc64))
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
You wouldn't need/want the $(HS_ARCH) there.
endif
With this solution we only define ADD_SA_BINARIES once (because the
various definitions for the different platforms are equal anyway). But
again this may affect other closed ports so please advise which
solution you'd prefer.
The above is problematic for customizations. An alternative would be to
set ADD_SA_BINARIES/default once with all the file names. Then:
ADD_SA_BINARIES/$(ARCH) = $(ADD_SA_BINARIES/default)
# No SA Support for IA64 or zero
ifneq (, $(findstring $(ARCH), ia64, zero))
ADD_SA_BINARIES/$(ARCH) =
Each ARCH handled elsewhere would then still set ADD_SA_BINARIES/$(ARCH)
if needed.
Does that seem reasonable?
Notice that this change also requires a tiny fix in the top-level
repository which must be pushed AFTER this change.
Can you elaborate please?
Thanks,
David
Thank you and best regards,
Volker