/hg/release/icedtea7-forest-2.3/hotspot: 3 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Wed Aug 15 03:13:29 PDT 2012


changeset cffde29ea7cc in /hg/release/icedtea7-forest-2.3/hotspot
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot?cmd=changeset;node=cffde29ea7cc
author: katleman
date: Fri Aug 10 10:14:35 2012 -0700

	Added tag jdk7u6-b24 for changeset b03c2687fb16


changeset 7566374c3c89 in /hg/release/icedtea7-forest-2.3/hotspot
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot?cmd=changeset;node=7566374c3c89
author: katleman
date: Mon Aug 13 14:19:48 2012 -0700

	Added tag jdk7u6-b30 for changeset cffde29ea7cc


changeset eede732f62dd in /hg/release/icedtea7-forest-2.3/hotspot
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot?cmd=changeset;node=eede732f62dd
author: andrew
date: Wed Aug 15 11:12:08 2012 +0100

	Merge jdk7u6-b30


diffstat:

 .hgtags                                                                              |    9 +
 agent/src/os/linux/Makefile                                                          |   11 +-
 agent/src/os/linux/libproc.h                                                         |   29 +-
 make/linux/makefiles/adlc.make                                                       |    8 +-
 make/linux/makefiles/defs.make                                                       |   54 ++-
 make/linux/makefiles/gcc.make                                                        |  120 ++++--
 make/linux/makefiles/jsig.make                                                       |    6 +-
 make/linux/makefiles/rules.make                                                      |   10 -
 make/linux/makefiles/saproc.make                                                     |    4 +
 make/linux/makefiles/vm.make                                                         |   24 +-
 make/linux/platform_zero.in                                                          |    2 +-
 make/solaris/makefiles/dtrace.make                                                   |   16 +
 make/solaris/makefiles/jsig.make                                                     |    4 +
 make/solaris/makefiles/rules.make                                                    |   10 -
 make/solaris/makefiles/saproc.make                                                   |    4 +
 make/solaris/makefiles/vm.make                                                       |   12 +
 make/windows/makefiles/vm.make                                                       |    8 +
 src/cpu/x86/vm/c2_globals_x86.hpp                                                    |    2 +-
 src/cpu/zero/vm/deoptimizerFrame_zero.hpp                                            |   53 +++
 src/cpu/zero/vm/methodHandles_zero.hpp                                               |   17 +-
 src/cpu/zero/vm/sharedRuntime_zero.cpp                                               |   19 +-
 src/os/linux/vm/os_linux.cpp                                                         |   39 ++-
 src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp                                  |   11 +-
 src/share/vm/asm/codeBuffer.hpp                                                      |    2 +-
 src/share/vm/ci/ciTypeFlow.cpp                                                       |    2 +-
 src/share/vm/classfile/systemDictionary.cpp                                          |    1 -
 src/share/vm/compiler/methodLiveness.cpp                                             |   12 +-
 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp |    6 +-
 src/share/vm/gc_implementation/g1/concurrentMark.cpp                                 |    2 +-
 src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp                |    4 +-
 src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp                        |    2 +-
 src/share/vm/memory/collectorPolicy.cpp                                              |    2 +-
 src/share/vm/memory/threadLocalAllocBuffer.cpp                                       |    2 +-
 src/share/vm/opto/cfgnode.cpp                                                        |    2 +
 src/share/vm/opto/type.cpp                                                           |    2 +
 src/share/vm/prims/jni.cpp                                                           |    2 +-
 src/share/vm/prims/jvmtiEnv.cpp                                                      |    3 +
 src/share/vm/runtime/arguments.cpp                                                   |    9 +-
 src/share/vm/runtime/globals.hpp                                                     |    2 +-
 src/share/vm/runtime/os.cpp                                                          |    3 +
 src/share/vm/runtime/vmStructs.cpp                                                   |   10 +-
 src/share/vm/shark/sharkCompiler.cpp                                                 |    4 +-
 src/share/vm/utilities/bitMap.hpp                                                    |    2 +-
 src/share/vm/utilities/macros.hpp                                                    |   16 +
 src/share/vm/utilities/ostream.cpp                                                   |    2 +-
 src/share/vm/utilities/vmError.cpp                                                   |   10 +-
 test/runtime/6929067/Test6929067.sh                                                  |   35 ++-
 test/runtime/7020373/GenOOMCrashClass.java                                           |  157 ++++++++++
 test/runtime/7020373/Test7020373.sh                                                  |    7 +-
 test/runtime/7020373/testcase.jar                                                    |  Bin 
 50 files changed, 620 insertions(+), 153 deletions(-)

diffs (truncated from 1701 to 500 lines):

diff -r b03c2687fb16 -r eede732f62dd .hgtags
--- a/.hgtags	Tue Aug 07 12:09:51 2012 -0700
+++ b/.hgtags	Wed Aug 15 11:12:08 2012 +0100
@@ -50,6 +50,7 @@
 faf94d94786b621f8e13cbcc941ca69c6d967c3f jdk7-b73
 f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 jdk7-b74
 d8dd291a362acb656026a9c0a9da48501505a1e7 jdk7-b75
+b4ab978ce52c41bb7e8ee86285e6c9f28122bbe1 icedtea7-1.12
 9174bb32e934965288121f75394874eeb1fcb649 jdk7-b76
 455105fc81d941482f8f8056afaa7aa0949c9300 jdk7-b77
 e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78
@@ -87,6 +88,7 @@
 07226e9eab8f74b37346b32715f829a2ef2c3188 hs18-b01
 e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87
 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b jdk7-b88
+a393ff93e7e54dd94cc4211892605a32f9c77dad icedtea7-1.13
 15836273ac2494f36ef62088bc1cb6f3f011f565 jdk7-b89
 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b hs18-b02
 605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90
@@ -160,6 +162,7 @@
 b898f0fc3cedc972d884d31a751afd75969531cf hs21-b05
 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 jdk7-b136
 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 hs21-b06
+591c7dc0b2ee879f87a7b5519a5388e0d81520be icedtea-1.14
 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f jdk7-b137
 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f hs21-b07
 0930dc920c185afbf40fed9a655290b8e5b16783 jdk7-b138
@@ -182,6 +185,7 @@
 38fa55e5e79232d48f1bb8cf27d88bc094c9375a hs21-b16
 81d815b05abb564aa1f4100ae13491c949b9a07e jdk7-b147
 81d815b05abb564aa1f4100ae13491c949b9a07e hs21-b17
+7693eb0fce1f6b484cce96c233ea20bdad8a09e0 icedtea-2.0-branchpoint
 9b0ca45cd756d538c4c30afab280a91868eee1a5 jdk7u2-b01
 0cc8a70952c368e06de2adab1f2649a408f5e577 jdk8-b01
 31e253c1da429124bb87570ab095d9bc89850d0a jdk8-b02
@@ -210,6 +214,7 @@
 3ba0bb2e7c8ddac172f5b995aae57329cdd2dafa hs22-b10
 f17fe2f4b6aacc19cbb8ee39476f2f13a1c4d3cd jdk7u2-b13
 0744602f85c6fe62255326df595785eb2b32166d jdk7u2-b21
+f8f4d3f9b16567b91bcef4caaa8417c8de8015f0 icedtea-2.1-branchpoint
 a40d238623e5b1ab1224ea6b36dc5b23d0a53880 jdk7u3-b02
 6986bfb4c82e00b938c140f2202133350e6e73f8 jdk7u3-b03
 8e6375b46717d74d4885f839b4e72d03f357a45f jdk7u3-b04
@@ -264,6 +269,7 @@
 f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16
 f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16
 931e5f39e365a0d550d79148ff87a7f9e864d2e1 hs23-b16
+a2c5354863dcb3d147b7b6f55ef514b1bfecf920 icedtea-2.2-branchpoint
 efb5f2662c96c472caa3327090268c75a86dd9c0 jdk7u4-b13
 82e719a2e6416838b4421637646cbfd7104c7716 jdk7u4-b14
 e5f7f95411fb9e837800b4152741c962118e5d7a jdk7u5-b01
@@ -311,6 +317,7 @@
 cefe884c708aa6dfd63aff45f6c698a6bc346791 jdk7u6-b16
 270a40a57b3d05ca64070208dcbb895b5b509d8e hs23.2-b08
 7a37cec9d0d44ae6ea3d26a95407e42d99af6843 jdk7u6-b17
+354cfde7db2f1fd46312d883a63c8a76d5381bab icedtea-2.3-branchpoint
 df0df4ae5af2f40b7f630c53a86e8c3d68ef5b66 jdk7u6-b18
 1257f4373a06f788bd656ae1c7a953a026a285b9 jdk7u6-b19
 a0c2fa4baeb6aad6f33dc87b676b21345794d61e hs23.2-b09
@@ -318,3 +325,5 @@
 02a6c89432d724119565f9ba25672829b136fc5f jdk7u6-b21
 a79d86eef6ac995a1fc35554f082f3a61abe9ae0 jdk7u6-b22
 df57f6208cb76b4e8d1a0bd0eea3d2ad577cb79b jdk7u6-b23
+b03c2687fb16514652e79261ad68d2c601dcee62 jdk7u6-b24
+cffde29ea7cc8647f17002a4d0e94065dcd82839 jdk7u6-b30
diff -r b03c2687fb16 -r eede732f62dd agent/src/os/linux/Makefile
--- a/agent/src/os/linux/Makefile	Tue Aug 07 12:09:51 2012 -0700
+++ b/agent/src/os/linux/Makefile	Wed Aug 15 11:12:08 2012 +0100
@@ -23,7 +23,12 @@
 #
 
 ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
-GCC      = gcc
+
+ifndef BUILD_GCC
+BUILD_GCC = gcc
+endif
+
+GCC      = $(BUILD_GCC)
 
 JAVAH    = ${JAVA_HOME}/bin/javah
 
@@ -40,7 +45,7 @@
 
 LIBS     = -lthread_db
 
-CFLAGS   = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) -D_FILE_OFFSET_BITS=64
+CFLAGS   = -c -fPIC -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) -D_FILE_OFFSET_BITS=64
 
 LIBSA = $(ARCH)/libsaproc.so
 
@@ -73,7 +78,7 @@
 	$(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
 
 test.o: test.c
-	$(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c
+	$(GCC) -c -o test.o -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) test.c
 
 test: test.o
 	$(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
diff -r b03c2687fb16 -r eede732f62dd agent/src/os/linux/libproc.h
--- a/agent/src/os/linux/libproc.h	Tue Aug 07 12:09:51 2012 -0700
+++ b/agent/src/os/linux/libproc.h	Wed Aug 15 11:12:08 2012 +0100
@@ -36,9 +36,34 @@
   These two files define pt_regs structure differently
 */
 #ifdef _LP64
-#include "asm-sparc64/ptrace.h"
+struct pt_regs {
+	unsigned long u_regs[16]; /* globals and ins */
+	unsigned long tstate;
+	unsigned long tpc;
+	unsigned long tnpc;
+	unsigned int y;
+
+	/* We encode a magic number, PT_REGS_MAGIC, along
+	 * with the %tt (trap type) register value at trap
+	 * entry time.  The magic number allows us to identify
+	 * accurately a trap stack frame in the stack
+	 * unwinder, and the %tt value allows us to test
+	 * things like "in a system call" etc. for an arbitray
+	 * process.
+	 *
+	 * The PT_REGS_MAGIC is chosen such that it can be
+	 * loaded completely using just a sethi instruction.
+	 */
+	unsigned int magic;
+};
 #else
-#include "asm-sparc/ptrace.h"
+struct pt_regs {
+	unsigned long psr;
+	unsigned long pc;
+	unsigned long npc;
+	unsigned long y;
+	unsigned long u_regs[16]; /* globals and ins */
+};
 #endif
 
 #endif //sparc or sparcv9
diff -r b03c2687fb16 -r eede732f62dd make/linux/makefiles/adlc.make
--- a/make/linux/makefiles/adlc.make	Tue Aug 07 12:09:51 2012 -0700
+++ b/make/linux/makefiles/adlc.make	Wed Aug 15 11:12:08 2012 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2012, 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
@@ -133,8 +133,10 @@
 # Note that product files are updated via "mv", which is atomic.
 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
 
-# Debuggable by default
-CFLAGS += -g
+ifneq ($(DEBUG_BINARIES), true)
+  # Debuggable by default (unless already done by DEBUG_BINARIES)
+  CFLAGS += -g
+endif
 
 # Pass -D flags into ADLC.
 ADLCFLAGS += $(SYSDEFS)
diff -r b03c2687fb16 -r eede732f62dd make/linux/makefiles/defs.make
--- a/make/linux/makefiles/defs.make	Tue Aug 07 12:09:51 2012 -0700
+++ b/make/linux/makefiles/defs.make	Wed Aug 15 11:12:08 2012 +0100
@@ -228,10 +228,14 @@
 # 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
+  ifneq ($(ZERO_BUILD), true)
+    ifneq ($(STRIP_POLICY),no_strip)
+      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
   endif
 endif
 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
@@ -240,11 +244,15 @@
 ifndef BUILD_CLIENT_ONLY
 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
+  ifneq ($(ZERO_BUILD), true)
+    ifneq ($(STRIP_POLICY),no_strip)
+      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
   endif
 endif
@@ -253,11 +261,13 @@
   ifeq ($(ARCH_DATA_MODEL), 32)
     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
+    ifneq ($(STRIP_POLICY),no_strip)
+      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
   endif
@@ -270,12 +280,16 @@
 ADD_SA_BINARIES/sparc = $(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/x86   += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
-    ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
-  else
-    ADD_SA_BINARIES/x86   += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
-    ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
+  ifneq ($(ZERO_BUILD), true)
+    ifneq ($(STRIP_POLICY),no_strip)
+      ifeq ($(ZIP_DEBUGINFO_FILES),1)
+        ADD_SA_BINARIES/x86   += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
+        ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
+      else
+        ADD_SA_BINARIES/x86   += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
+        ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
+      endif
+    endif
   endif
 endif
 ADD_SA_BINARIES/ppc   = 
diff -r b03c2687fb16 -r eede732f62dd make/linux/makefiles/gcc.make
--- a/make/linux/makefiles/gcc.make	Tue Aug 07 12:09:51 2012 -0700
+++ b/make/linux/makefiles/gcc.make	Wed Aug 15 11:12:08 2012 +0100
@@ -25,19 +25,42 @@
 #------------------------------------------------------------------------
 # CC, CXX & AS
 
-# When cross-compiling the ALT_COMPILER_PATH points
-# to the cross-compilation toolset
+ifndef HOST_GCC
 ifdef CROSS_COMPILE_ARCH
-CXX = $(ALT_COMPILER_PATH)/g++
-CC  = $(ALT_COMPILER_PATH)/gcc
-HOSTCXX = g++
-HOSTCC  = gcc
+HOST_GCC = gcc
 else
-CXX = g++
-CC  = gcc
-HOSTCXX = $(CXX)
-HOSTCC  = $(CC)
+HOST_GCC = $(CC)
 endif
+endif
+
+ifndef HOST_CXX
+ifdef CROSS_COMPILE_ARCH
+HOST_CXX = g++
+else
+HOST_CXX = $(CXX)
+endif
+endif
+
+ifndef BUILD_GCC
+ifdef CROSS_COMPILE_ARCH
+BUILD_GCC  = $(ALT_COMPILER_PATH)/gcc
+else
+BUILD_GCC = gcc
+endif
+endif
+
+ifndef BUILD_CXX
+ifdef CROSS_COMPILE_ARCH
+BUILD_CXX = $(ALT_COMPILER_PATH)/g++
+else
+BUILD_CXX = g++
+endif
+endif
+
+CXX = $(BUILD_CXX)
+CC = $(BUILD_GCC)
+HOSTCXX = $(HOST_CXX)
+HOSTCC  = $(HOST_GCC)
 
 AS  = $(CC) -c
 
@@ -61,7 +84,11 @@
 # Compiler flags
 
 # position-independent code
+ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),)
 PICFLAG = -fPIC
+else
+PICFLAG = -fpic
+endif
 
 VM_PICFLAG/LIBJVM = $(PICFLAG)
 VM_PICFLAG/AOUT   =
@@ -209,47 +236,46 @@
 #------------------------------------------------------------------------
 # Debug flags
 
-# Use the stabs format for debugging information (this is the default
-# on gcc-2.91). It's good enough, has all the information about line
-# numbers and local variables, and libjvm_g.so is only about 16M.
-# Change this back to "-g" if you want the most expressive format.
-# (warning: that could easily inflate libjvm_g.so to 150M!)
-# Note: The Itanium gcc compiler crashes when using -gstabs.
-DEBUG_CFLAGS/ia64  = -g
-DEBUG_CFLAGS/amd64 = -g
-DEBUG_CFLAGS/arm   = -g
-DEBUG_CFLAGS/ppc   = -g
-DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
-ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
-DEBUG_CFLAGS += -gstabs
-endif
-
-ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-  FASTDEBUG_CFLAGS/ia64  = -g
-  FASTDEBUG_CFLAGS/amd64 = -g
-  FASTDEBUG_CFLAGS/arm   = -g
-  FASTDEBUG_CFLAGS/ppc   = -g
-  FASTDEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
-  ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),)
-    FASTDEBUG_CFLAGS += -gstabs
+# DEBUG_BINARIES uses full -g debug information for all configs
+ifeq ($(DEBUG_BINARIES), true)
+  CFLAGS += -g
+else
+  # Use the stabs format for debugging information (this is the default
+  # on gcc-2.91). It's good enough, has all the information about line
+  # numbers and local variables, and libjvm_g.so is only about 16M.
+  # Change this back to "-g" if you want the most expressive format.
+  # (warning: that could easily inflate libjvm_g.so to 150M!)
+  # Note: The Itanium gcc compiler crashes when using -gstabs.
+  DEBUG_CFLAGS/ia64  = -g
+  DEBUG_CFLAGS/amd64 = -g
+  DEBUG_CFLAGS/arm   = -g
+  DEBUG_CFLAGS/ppc   = -g
+  DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
+  ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
+    DEBUG_CFLAGS += -gstabs
   endif
-
-  OPT_CFLAGS/ia64  = -g
-  OPT_CFLAGS/amd64 = -g
-  OPT_CFLAGS/arm   = -g
-  OPT_CFLAGS/ppc   = -g
-  OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH))
-  ifeq ($(OPT_CFLAGS/$(BUILDARCH)),)
-    OPT_CFLAGS += -gstabs
+  
+  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+    FASTDEBUG_CFLAGS/ia64  = -g
+    FASTDEBUG_CFLAGS/amd64 = -g
+    FASTDEBUG_CFLAGS/arm   = -g
+    FASTDEBUG_CFLAGS/ppc   = -g
+    FASTDEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
+    ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),)
+      FASTDEBUG_CFLAGS += -gstabs
+    endif
+  
+    OPT_CFLAGS/ia64  = -g
+    OPT_CFLAGS/amd64 = -g
+    OPT_CFLAGS/arm   = -g
+    OPT_CFLAGS/ppc   = -g
+    OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH))
+    ifeq ($(OPT_CFLAGS/$(BUILDARCH)),)
+      OPT_CFLAGS += -gstabs
+    endif
   endif
 endif
 
-# DEBUG_BINARIES overrides everything, use full -g debug information
-ifeq ($(DEBUG_BINARIES), true)
-  DEBUG_CFLAGS = -g
-  CFLAGS += $(DEBUG_CFLAGS)
-endif
-
 # If we are building HEADLESS, pass on to VM
 # so it can set the java.awt.headless property
 ifdef HEADLESS
diff -r b03c2687fb16 -r eede732f62dd make/linux/makefiles/jsig.make
--- a/make/linux/makefiles/jsig.make	Tue Aug 07 12:09:51 2012 -0700
+++ b/make/linux/makefiles/jsig.make	Wed Aug 15 11:12:08 2012 +0100
@@ -62,8 +62,10 @@
                          $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
 	$(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+  ifneq ($(STRIP_POLICY),no_strip)
 	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
 	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
+  endif
   ifeq ($(STRIP_POLICY),all_strip)
 	$(QUIETLY) $(STRIP) $@
   else
@@ -73,10 +75,12 @@
     endif
   endif
 	[ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); }
-  ifeq ($(ZIP_DEBUGINFO_FILES),1)
+  ifneq ($(STRIP_POLICY),no_strip)
+    ifeq ($(ZIP_DEBUGINFO_FILES),1)
 	$(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO)
 	$(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO)
 	[ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); }
+    endif
   endif
 endif
 
diff -r b03c2687fb16 -r eede732f62dd make/linux/makefiles/rules.make
--- a/make/linux/makefiles/rules.make	Tue Aug 07 12:09:51 2012 -0700
+++ b/make/linux/makefiles/rules.make	Wed Aug 15 11:12:08 2012 +0100
@@ -143,20 +143,10 @@
 
 include $(GAMMADIR)/make/altsrc.make
 
-# The non-PIC object files are only generated for 32 bit platforms.
-ifdef LP64
 %.o: %.cpp
 	@echo Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
-else
-%.o: %.cpp
-	@echo Compiling $<
-	$(QUIETLY) $(REMOVE_TARGET)
-	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
-	   $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
-	   $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
-endif
 
 %.o: %.s
 	@echo Assembling $<
diff -r b03c2687fb16 -r eede732f62dd make/linux/makefiles/saproc.make
--- a/make/linux/makefiles/saproc.make	Tue Aug 07 12:09:51 2012 -0700
+++ b/make/linux/makefiles/saproc.make	Wed Aug 15 11:12:08 2012 +0100
@@ -91,8 +91,10 @@
 	           -lthread_db
 	$(QUIETLY) [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); }
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+  ifneq ($(STRIP_POLICY),no_strip)
 	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)
 	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
+  endif
   ifeq ($(STRIP_POLICY),all_strip)
 	$(QUIETLY) $(STRIP) $@
   else
@@ -103,9 +105,11 @@
   endif
 	[ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); }
   ifeq ($(ZIP_DEBUGINFO_FILES),1)
+    ifneq ($(STRIP_POLICY),no_strip)
 	$(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO)
 	$(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO)
 	[ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); }
+    endif
   endif
 endif
 
diff -r b03c2687fb16 -r eede732f62dd make/linux/makefiles/vm.make
--- a/make/linux/makefiles/vm.make	Tue Aug 07 12:09:51 2012 -0700
+++ b/make/linux/makefiles/vm.make	Wed Aug 15 11:12:08 2012 +0100
@@ -97,6 +97,10 @@
   ${HS_LIB_ARCH}     \
   ${VM_DISTRO}
 
+ifdef DERIVATIVE_ID
+CPPFLAGS += -DDERIVATIVE_ID="\"$(DERIVATIVE_ID)\""
+endif
+
 # This is VERY important! The version define must only be supplied to vm_version.o
 # If not, ccache will not re-use the cache at all, since the version string might contain
 # a time and date. 
@@ -108,6 +112,10 @@
 endif
 endif
 
+ifdef DISTRIBUTION_ID
+CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\""
+endif
+



More information about the distro-pkg-dev mailing list