From f1812d9e9f20aeb50403eb0ab51ec4d2adc3d414 Mon Sep 17 00:00:00 2001
From: Magnus Ihse Bursie <ihse@openjdk.org>
Date: Fri, 19 Feb 2016 14:04:20 +0100
Subject: [PATCH] 8150201: Restore missing -g flags to files with
 OPT_CFLAGS/per-file

Reviewed-by: dholmes, erikj
---
 hotspot/make/bsd/makefiles/amd64.make          | 10 +++++++++-
 hotspot/make/bsd/makefiles/gcc.make            |  9 ++++++++-
 hotspot/make/linux/makefiles/amd64.make        | 10 +++++++++-
 hotspot/make/linux/makefiles/gcc.make          | 12 +++++++++++-
 hotspot/make/linux/makefiles/i486.make         | 10 +++++++++-
 hotspot/make/solaris/makefiles/amd64.make      | 10 +++++++++-
 hotspot/make/solaris/makefiles/product.make    | 18 +++++++++++++++++-
 hotspot/make/solaris/makefiles/sparcWorks.make | 11 +++++++++++
 8 files changed, 83 insertions(+), 7 deletions(-)

diff --git a/hotspot/make/bsd/makefiles/amd64.make b/hotspot/make/bsd/makefiles/amd64.make
index ecdac17ee3a..6512375259e 100644
--- a/hotspot/make/bsd/makefiles/amd64.make
+++ b/hotspot/make/bsd/makefiles/amd64.make
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -37,3 +37,11 @@ ifndef USE_SUNCC
 endif
 
 OPT_CFLAGS/compactingPermGenGen.o = -O1
+
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/sharedRuntimeTrig.o += -g
+   OPT_CFLAGS/sharedRuntimeTrans.o += -g
+   OPT_CFLAGS/compactingPermGenGen.o += -g
+endif
diff --git a/hotspot/make/bsd/makefiles/gcc.make b/hotspot/make/bsd/makefiles/gcc.make
index 05a07052963..1bf6521a892 100644
--- a/hotspot/make/bsd/makefiles/gcc.make
+++ b/hotspot/make/bsd/makefiles/gcc.make
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -330,6 +330,13 @@ ifeq ($(USE_CLANG), true)
     ), 1)
     OPT_CFLAGS/loopTransform.o += $(OPT_CFLAGS/NOOPT)
     OPT_CFLAGS/unsafe.o += -O1
+
+    # The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+    # of OPT_CFLAGS. Restore it here.
+    ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+      OPT_CFLAGS/loopTransform.o += -g
+      OPT_CFLAGS/unsafe.o += -g
+    endif
   else
     $(error "Update compiler workarounds for Clang $(CC_VER_MAJOR).$(CC_VER_MINOR)")
   endif
diff --git a/hotspot/make/linux/makefiles/amd64.make b/hotspot/make/linux/makefiles/amd64.make
index 2b77dbab605..c98a5827820 100644
--- a/hotspot/make/linux/makefiles/amd64.make
+++ b/hotspot/make/linux/makefiles/amd64.make
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -32,3 +32,11 @@ CFLAGS += -DVM_LITTLE_ENDIAN
 CFLAGS += -D_LP64=1
 
 OPT_CFLAGS/compactingPermGenGen.o = -O1
+
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/sharedRuntimeTrig.o += -g
+   OPT_CFLAGS/sharedRuntimeTrans.o += -g
+   OPT_CFLAGS/compactingPermGenGen.o += -g
+endif
diff --git a/hotspot/make/linux/makefiles/gcc.make b/hotspot/make/linux/makefiles/gcc.make
index c8ee95d932b..a2e5c6c03b6 100644
--- a/hotspot/make/linux/makefiles/gcc.make
+++ b/hotspot/make/linux/makefiles/gcc.make
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -265,6 +265,11 @@ ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \&
   # GCC >= 4.3
   # Gcc 4.1.2 does not support this flag, nor does it have problems compiling the file.
   OPT_CFLAGS/vmStructs.o += -fno-var-tracking-assignments
+  # The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+  # of OPT_CFLAGS. Restore it here.
+  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+    OPT_CFLAGS/vmStructs.o += -g
+  endif
 endif
 
 # The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
@@ -277,6 +282,11 @@ endif
 ifeq ($(USE_CLANG), true)
   ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 2), 1)
     OPT_CFLAGS/loopTransform.o += $(OPT_CFLAGS/NOOPT)
+    # The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+    # of OPT_CFLAGS. Restore it here.
+    ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+      OPT_CFLAGS/loopTransform.o += -g
+    endif
   endif
 else
   # Do not allow GCC 4.1.1
diff --git a/hotspot/make/linux/makefiles/i486.make b/hotspot/make/linux/makefiles/i486.make
index 86e825d3e9d..a1adda6477c 100644
--- a/hotspot/make/linux/makefiles/i486.make
+++ b/hotspot/make/linux/makefiles/i486.make
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -32,3 +32,11 @@ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
 CFLAGS += -DVM_LITTLE_ENDIAN
 
 OPT_CFLAGS/compactingPermGenGen.o = -O1
+
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/sharedRuntimeTrig.o += -g
+   OPT_CFLAGS/sharedRuntimeTrans.o += -g
+   OPT_CFLAGS/compactingPermGenGen.o += -g
+endif
diff --git a/hotspot/make/solaris/makefiles/amd64.make b/hotspot/make/solaris/makefiles/amd64.make
index f88d743fe7c..7b1bdf3d8b3 100644
--- a/hotspot/make/solaris/makefiles/amd64.make
+++ b/hotspot/make/solaris/makefiles/amd64.make
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,14 @@ ifeq ("${Platform_compiler}", "sparcWorks")
 OPT_CFLAGS/generateOptoStub.o = -xO2
 # Temporary util SS12u1 C++ compiler is fixed
 OPT_CFLAGS/c1_LinearScan.o = -xO2
+
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+  OPT_CFLAGS/generateOptoStub.o += -g0 -xs
+  OPT_CFLAGS/LinearScan.o += -g0 -xs
+endif
+
 else
 
 ifeq ("${Platform_compiler}", "gcc")
diff --git a/hotspot/make/solaris/makefiles/product.make b/hotspot/make/solaris/makefiles/product.make
index 7f378b17d95..b36159fdcc8 100644
--- a/hotspot/make/solaris/makefiles/product.make
+++ b/hotspot/make/solaris/makefiles/product.make
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -35,11 +35,21 @@ OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
 # for this method for now. (fix this when dtrace bug 6258412 is fixed)
 ifndef USE_GCC
 OPT_CFLAGS/ciEnv.o = $(OPT_CFLAGS) -xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/ciEnv.o += -g0 -xs
+endif
 endif
 
 # Need extra inlining to get oop_ps_push_contents functions to perform well enough.
 ifndef USE_GCC
 OPT_CFLAGS/psPromotionManager.o = $(OPT_CFLAGS) -W2,-Ainline:inc=1000
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/psPromotionManager.o += -g0 -xs
+endif
 endif
 
 # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files)
@@ -55,6 +65,12 @@ endif # COMPILER_REV_NUMERIC == 510
 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
 # dtrace cannot handle tail call optimization (6672627, 6693876)
 OPT_CFLAGS/jni.o = $(OPT_CFLAGS/DEFAULT) $(OPT_CCFLAGS/NO_TAIL_CALL_OPT)
+# The -g0 -xs flag is added to OPT_CFLAGS in sparcWorks.make, but lost in case of
+# per-file overrides of OPT_CFLAGS. Restore it here. This is mainly needed
+# to provide a good baseline to compare the new build against.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/jni.o += -g0 -xs
+endif
 endif # COMPILER_NUMERIC_REV >= 509
 
 # Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12)
diff --git a/hotspot/make/solaris/makefiles/sparcWorks.make b/hotspot/make/solaris/makefiles/sparcWorks.make
index cbd902ef0fe..5c66b2f3d20 100644
--- a/hotspot/make/solaris/makefiles/sparcWorks.make
+++ b/hotspot/make/solaris/makefiles/sparcWorks.make
@@ -158,9 +158,20 @@ OPT_CFLAGS/NO_TAIL_CALL_OPT  = -Wu,-O~yz
 OPT_CCFLAGS/NO_TAIL_CALL_OPT = -Qoption ube -O~yz
 OPT_CFLAGS/stubGenerator_x86_32.o = $(OPT_CFLAGS) -xspace
 OPT_CFLAGS/stubGenerator_x86_64.o = $(OPT_CFLAGS) -xspace
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/stubGenerator_x86_32.o += -g0 -xs
+   OPT_CFLAGS/stubGenerator_x86_64.o += -g0 -xs
+endif
 endif # Platform_arch == x86
 ifeq ("${Platform_arch}", "sparc")
 OPT_CFLAGS/stubGenerator_sparc.o = $(OPT_CFLAGS) -xspace
+# The debug flag is added to OPT_CFLAGS, but lost in case of per-file overrides
+# of OPT_CFLAGS. Restore it here.
+ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+   OPT_CFLAGS/stubGenerator_sparc.o += -g0 -xs
+endif
 endif
 endif # COMPILER_REV_NUMERIC >= 509