changeset 9463:362d99aef38e jdk8u302-b04

8265666: Enable AIX build platform to make external debug symbols Reviewed-by: phh
author aleonard
date Wed, 12 May 2021 11:32:26 +0100
parents 8c40ddd927ce
children 76c173746025 88e29f735f12
files make/aix/makefiles/defs.make make/aix/makefiles/jsig.make make/aix/makefiles/saproc.make make/aix/makefiles/vm.make
diffstat 4 files changed, 73 insertions(+), 77 deletions(-) [+]
line wrap: on
line diff
--- a/make/aix/makefiles/defs.make	Wed May 19 16:08:42 2021 +0100
+++ b/make/aix/makefiles/defs.make	Wed May 12 11:32:26 2021 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2021, Oracle and/or its affiliates. All rights reserved.
 # Copyright 2012, 2013 SAP AG. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -142,36 +142,28 @@
         OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
       endif
 
-      ifeq ($(OBJCOPY),)
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY.")
-        ENABLE_FULL_DEBUG_SYMBOLS=0
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
-      else
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
+      _JUNK_ := $(shell \
+        echo >&2 "INFO: AIX .debuginfo files will be produced by copying debug object.")
 
-        # Library stripping policies for .debuginfo configs:
-        #   all_strip - strips everything from the library
-        #   min_strip - strips most stuff from the library; leaves minimum symbols
-        #   no_strip  - does not strip the library at all
-        #
-        # Oracle security policy requires "all_strip". A waiver was granted on
-        # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
-        #
-        # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
-        #
-        STRIP_POLICY ?= min_strip
+      # Library stripping policies for .debuginfo configs:
+      #   all_strip - strips everything from the library
+      #   min_strip - strips most stuff from the library; leaves minimum symbols
+      #   no_strip  - does not strip the library at all
+      #
+      # Oracle security policy requires "all_strip". A waiver was granted on
+      # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
+      #
+      # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
+      #
+      STRIP_POLICY ?= min_strip
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
+      _JUNK_ := $(shell \
+        echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
 
-        ZIP_DEBUGINFO_FILES ?= 1
+      ZIP_DEBUGINFO_FILES ?= 1
 
-        _JUNK_ := $(shell \
-          echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
-      endif
+      _JUNK_ := $(shell \
+        echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
     endif # ENABLE_FULL_DEBUG_SYMBOLS=1
   endif # BUILD_FLAVOR
 endif # JDK_6_OR_EARLIER
@@ -185,13 +177,13 @@
 
 # client and server subdirectories have symbolic links to ../libjsig.so
 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
-#ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-#  ifeq ($(ZIP_DEBUGINFO_FILES),1)
-#    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz
-#  else
-#    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
-#  endif
-#endif
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+  ifeq ($(ZIP_DEBUGINFO_FILES),1)
+    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz
+  else
+    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
+  endif
+endif
 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
 EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
 EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
@@ -199,25 +191,25 @@
 ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK) $(JVM_VARIANT_CORE)), true)
   EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
   EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
-#  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-#    ifeq ($(ZIP_DEBUGINFO_FILES),1)
-#      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
-#    else
-#      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
-#    endif
-#  endif
+  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+    ifeq ($(ZIP_DEBUGINFO_FILES),1)
+      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
+    else
+      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
+    endif
+  endif
 endif
 
 ifeq ($(JVM_VARIANT_CLIENT),true)
   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
-#  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-#    ifeq ($(ZIP_DEBUGINFO_FILES),1)
-#      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
-#    else
-#      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
-#    endif
-#  endif
+  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+    ifeq ($(ZIP_DEBUGINFO_FILES),1)
+      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
+    else
+      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
+    endif
+  endif
 endif
 
 # Serviceability Binaries
--- a/make/aix/makefiles/jsig.make	Wed May 19 16:08:42 2021 +0100
+++ b/make/aix/makefiles/jsig.make	Wed May 12 11:32:26 2021 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
 # Copyright 2012, 2013 SAP AG. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -64,9 +64,9 @@
 	$(QUIETLY) $(CXX) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
                          $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(JSIG_OPT_FLAGS) -o $@ $< -ldl
 
-#ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-#	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
-#	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+  # AIX produces .debuginfo from copy of -g compiled object prior to strip
+	$(QUIETLY) $(CP) $@ $(LIBJSIG_DEBUGINFO)
 #  ifeq ($(STRIP_POLICY),all_strip)
 #	$(QUIETLY) $(STRIP) $@
 #  else
@@ -75,11 +75,13 @@
 #    # implied else here is no stripping at all
 #    endif
 #  endif
-#  ifeq ($(ZIP_DEBUGINFO_FILES),1)
-#	$(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
-#	$(RM) $(LIBJSIG_DEBUGINFO)
-#  endif
-#endif
+  ifneq ($(STRIP_POLICY),no_strip)
+    ifeq ($(ZIP_DEBUGINFO_FILES),1)
+	$(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
+	$(RM) $(LIBJSIG_DEBUGINFO)
+    endif
+  endif
+endif
 
 install_jsig: $(LIBJSIG)
 	@echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
--- a/make/aix/makefiles/saproc.make	Wed May 19 16:08:42 2021 +0100
+++ b/make/aix/makefiles/saproc.make	Wed May 12 11:32:26 2021 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
 # Copyright 2012, 2013 SAP AG. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -88,16 +88,16 @@
 	           -o $@                                                \
 	           -lthread_db
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)
-	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
-  ifeq ($(STRIP_POLICY),all_strip)
-	$(QUIETLY) $(STRIP) $@
-  else
-    ifeq ($(STRIP_POLICY),min_strip)
-	$(QUIETLY) $(STRIP) -g $@
-    # implied else here is no stripping at all
-    endif
-  endif
+  # AIX produces .debuginfo from copy of -g compiled object prior to strip
+	$(QUIETLY) $(CP) $@ $(LIBJSIG_DEBUGINFO)
+#  ifeq ($(STRIP_POLICY),all_strip)
+#	$(QUIETLY) $(STRIP) $@
+#  else
+#    ifeq ($(STRIP_POLICY),min_strip)
+#	$(QUIETLY) $(STRIP) -g $@
+#    # implied else here is no stripping at all
+#    endif
+#  endif
   ifeq ($(ZIP_DEBUGINFO_FILES),1)
 	$(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO)
 	$(RM) $(LIBSAPROC_DEBUGINFO)
--- a/make/aix/makefiles/vm.make	Wed May 19 16:08:42 2021 +0100
+++ b/make/aix/makefiles/vm.make	Wed May 12 11:32:26 2021 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
 # Copyright (c) 2012, 2020 SAP SE. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -329,9 +329,9 @@
 #           fi 							        \
 #	}
 
-#ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-#	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
-#	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+  # AIX produces .debuginfo from copy of -g compiled object prior to strip
+	$(QUIETLY) $(CP) $@ $(LIBJVM_DEBUGINFO)
 #    ifeq ($(STRIP_POLICY),all_strip)
 #	$(QUIETLY) $(STRIP) $@
 #    else
@@ -340,11 +340,13 @@
 #      # implied else here is no stripping at all
 #      endif
 #    endif
-#    ifeq ($(ZIP_DEBUGINFO_FILES),1)
-#	$(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO)
-#	$(RM) $(LIBJVM_DEBUGINFO)
-#  endif
-#endif
+    ifneq ($(STRIP_POLICY),no_strip)
+      ifeq ($(ZIP_DEBUGINFO_FILES),1)
+	$(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO)
+	$(RM) $(LIBJVM_DEBUGINFO)
+      endif
+    endif
+endif
 
 DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)
 DEST_JVM           = $(DEST_SUBDIR)/$(LIBJVM)