changeset 8969:d3013b8050d8 tip

. Sync from Linux changes in 8u202.
author Greg Lewis <glewis@eyesbeyond.com>
date Sun, 10 Feb 2019 09:26:05 -0800
parents 8516936842c8
children
files agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86CFrame.java make/bsd/makefiles/adlc.make make/bsd/makefiles/gcc.make
diffstat 3 files changed, 18 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86CFrame.java	Fri Feb 08 18:09:08 2019 -0800
+++ b/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86CFrame.java	Sun Feb 10 09:26:05 2019 -0800
@@ -55,7 +55,15 @@
 
    public CFrame sender(ThreadProxy thread) {
       X86ThreadContext context = (X86ThreadContext) thread.getContext();
-      Address esp = context.getRegisterAsAddress(X86ThreadContext.ESP);
+      /*
+       * Native code fills in the stack pointer register value using index
+       * X86ThreadContext.SP.
+       * See file BsdDebuggerLocal.c macro REG_INDEX(reg).
+       *
+       * Be sure to use SP, or UESP which is aliased to SP in Java code,
+       * for the frame pointer validity check.
+       */
+      Address esp = context.getRegisterAsAddress(X86ThreadContext.SP);
 
       if ( (ebp == null) || ebp.lessThan(esp) ) {
         return null;
--- a/make/bsd/makefiles/adlc.make	Fri Feb 08 18:09:08 2019 -0800
+++ b/make/bsd/makefiles/adlc.make	Sun Feb 10 09:26:05 2019 -0800
@@ -107,6 +107,11 @@
 
 all: $(EXEC)
 
+ADLC_LD_FLAGS=
+ifeq ($(STATIC_CXX), true)
+  ADLC_LD_FLAGS = $(STATIC_LIBGCC) $(ADLC_STATIC_STDCXX)
+endif
+
 $(EXEC) : $(OBJECTS)
 	@echo Making adlc
 	$(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
--- a/make/bsd/makefiles/gcc.make	Fri Feb 08 18:09:08 2019 -0800
+++ b/make/bsd/makefiles/gcc.make	Sun Feb 10 09:26:05 2019 -0800
@@ -235,6 +235,10 @@
 LFLAGS     += $(ARCHFLAG)
 ASFLAGS    += $(ARCHFLAG)
 
+ifeq ($(DEBUG_BINARIES), true)
+  ASFLAGS    += $(ASFLAGS_DEBUG_SYMBOLS)
+endif
+
 ifdef E500V2
 CFLAGS += -DE500V2
 endif