Tue, 22 Oct 2013 13:56:11 -0700
Merge
1.1 --- a/common/autoconf/basics.m4 Thu Oct 17 15:50:28 2013 -0700 1.2 +++ b/common/autoconf/basics.m4 Tue Oct 22 13:56:11 2013 -0700 1.3 @@ -644,6 +644,7 @@ 1.4 fi 1.5 1.6 if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then 1.7 + BASIC_REQUIRE_PROG(DSYMUTIL, dsymutil) 1.8 BASIC_REQUIRE_PROG(XATTR, xattr) 1.9 AC_PATH_PROG(CODESIGN, codesign) 1.10 if test "x$CODESIGN" != "x"; then
2.1 --- a/common/autoconf/generated-configure.sh Thu Oct 17 15:50:28 2013 -0700 2.2 +++ b/common/autoconf/generated-configure.sh Tue Oct 22 13:56:11 2013 -0700 2.3 @@ -824,6 +824,7 @@ 2.4 OS_VERSION_MAJOR 2.5 PKG_CONFIG 2.6 CODESIGN 2.7 +DSYMUTIL 2.8 XATTR 2.9 IS_GNU_TIME 2.10 TIME 2.11 @@ -10592,6 +10593,64 @@ 2.12 $as_echo "yes" >&6; } 2.13 fi 2.14 fi 2.15 + 2.16 + 2.17 + for ac_prog in dsymutil 2.18 +do 2.19 + # Extract the first word of "$ac_prog", so it can be a program name with args. 2.20 +set dummy $ac_prog; ac_word=$2 2.21 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 2.22 +$as_echo_n "checking for $ac_word... " >&6; } 2.23 +if ${ac_cv_path_DSYMUTIL+:} false; then : 2.24 + $as_echo_n "(cached) " >&6 2.25 +else 2.26 + case $DSYMUTIL in 2.27 + [\\/]* | ?:[\\/]*) 2.28 + ac_cv_path_DSYMUTIL="$DSYMUTIL" # Let the user override the test with a path. 2.29 + ;; 2.30 + *) 2.31 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 2.32 +for as_dir in $PATH 2.33 +do 2.34 + IFS=$as_save_IFS 2.35 + test -z "$as_dir" && as_dir=. 2.36 + for ac_exec_ext in '' $ac_executable_extensions; do 2.37 + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 2.38 + ac_cv_path_DSYMUTIL="$as_dir/$ac_word$ac_exec_ext" 2.39 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 2.40 + break 2 2.41 + fi 2.42 +done 2.43 + done 2.44 +IFS=$as_save_IFS 2.45 + 2.46 + ;; 2.47 +esac 2.48 +fi 2.49 +DSYMUTIL=$ac_cv_path_DSYMUTIL 2.50 +if test -n "$DSYMUTIL"; then 2.51 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 2.52 +$as_echo "$DSYMUTIL" >&6; } 2.53 +else 2.54 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 2.55 +$as_echo "no" >&6; } 2.56 +fi 2.57 + 2.58 + 2.59 + test -n "$DSYMUTIL" && break 2.60 +done 2.61 + 2.62 + 2.63 + if test "x$DSYMUTIL" = x; then 2.64 + if test "xdsymutil" = x; then 2.65 + PROG_NAME=dsymutil 2.66 + else 2.67 + PROG_NAME=dsymutil 2.68 + fi 2.69 + { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5 2.70 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;} 2.71 + as_fn_error $? "Cannot continue" "$LINENO" 5 2.72 + fi 2.73 fi 2.74 2.75 2.76 @@ -29539,11 +29598,11 @@ 2.77 elif test "x$enable_debug_symbols" = "xno"; then 2.78 ENABLE_DEBUG_SYMBOLS=false 2.79 else 2.80 - # default on macosx is false 2.81 - if test "x$OPENJDK_TARGET_OS" = xmacosx; then 2.82 - ENABLE_DEBUG_SYMBOLS=false 2.83 - # Default is on if objcopy is found, otherwise off 2.84 - elif test "x$OBJCOPY" != x || test "x$OPENJDK_TARGET_OS" = xwindows; then 2.85 + # Default is on if objcopy is found 2.86 + if test "x$OBJCOPY" != x; then 2.87 + ENABLE_DEBUG_SYMBOLS=true 2.88 + # MacOS X and Windows don't use objcopy but default is on for those OSes 2.89 + elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then 2.90 ENABLE_DEBUG_SYMBOLS=true 2.91 else 2.92 ENABLE_DEBUG_SYMBOLS=false
3.1 --- a/common/autoconf/hotspot-spec.gmk.in Thu Oct 17 15:50:28 2013 -0700 3.2 +++ b/common/autoconf/hotspot-spec.gmk.in Tue Oct 22 13:56:11 2013 -0700 3.3 @@ -1,5 +1,5 @@ 3.4 # 3.5 -# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 3.6 +# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 3.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3.8 # 3.9 # This code is free software; you can redistribute it and/or modify it 3.10 @@ -123,8 +123,7 @@ 3.11 # Hotspot expects the variable ZIP_DEBUGINFO_FILES=1/0 and not true/false. 3.12 ifeq ($(ZIP_DEBUGINFO_FILES)$(ENABLE_DEBUG_SYMBOLS), truetrue) 3.13 ZIP_DEBUGINFO_FILES:=1 3.14 -endif 3.15 -ifeq ($(ZIP_DEBUGINFO_FILES), false) 3.16 +else 3.17 ZIP_DEBUGINFO_FILES:=0 3.18 endif 3.19
4.1 --- a/common/autoconf/jdk-options.m4 Thu Oct 17 15:50:28 2013 -0700 4.2 +++ b/common/autoconf/jdk-options.m4 Tue Oct 22 13:56:11 2013 -0700 4.3 @@ -516,11 +516,11 @@ 4.4 elif test "x$enable_debug_symbols" = "xno"; then 4.5 ENABLE_DEBUG_SYMBOLS=false 4.6 else 4.7 - # default on macosx is false 4.8 - if test "x$OPENJDK_TARGET_OS" = xmacosx; then 4.9 - ENABLE_DEBUG_SYMBOLS=false 4.10 - # Default is on if objcopy is found, otherwise off 4.11 - elif test "x$OBJCOPY" != x || test "x$OPENJDK_TARGET_OS" = xwindows; then 4.12 + # Default is on if objcopy is found 4.13 + if test "x$OBJCOPY" != x; then 4.14 + ENABLE_DEBUG_SYMBOLS=true 4.15 + # MacOS X and Windows don't use objcopy but default is on for those OSes 4.16 + elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then 4.17 ENABLE_DEBUG_SYMBOLS=true 4.18 else 4.19 ENABLE_DEBUG_SYMBOLS=false
5.1 --- a/common/autoconf/spec.gmk.in Thu Oct 17 15:50:28 2013 -0700 5.2 +++ b/common/autoconf/spec.gmk.in Tue Oct 22 13:56:11 2013 -0700 5.3 @@ -485,6 +485,7 @@ 5.4 DATE:=@DATE@ 5.5 DIFF:=@DIFF@ 5.6 DIRNAME:=@DIRNAME@ 5.7 +DSYMUTIL:=@DSYMUTIL@ 5.8 FIND:=@FIND@ 5.9 FIND_DELETE:=@FIND_DELETE@ 5.10 ECHO:=@ECHO@
6.1 --- a/common/makefiles/NativeCompilation.gmk Thu Oct 17 15:50:28 2013 -0700 6.2 +++ b/common/makefiles/NativeCompilation.gmk Tue Oct 22 13:56:11 2013 -0700 6.3 @@ -1,5 +1,5 @@ 6.4 # 6.5 -# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 6.6 +# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 6.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6.8 # 6.9 # This code is free software; you can redistribute it and/or modify it 6.10 @@ -435,31 +435,36 @@ 6.11 $(CP) $$< $$@ 6.12 endif 6.13 6.14 - ifeq ($(OPENJDK_TARGET_OS), solaris) 6.15 - # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. 6.16 - # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from 6.17 - # empty section headers until a fixed $(OBJCOPY) is available. 6.18 - # An empty section header has sh_addr == 0 and sh_size == 0. 6.19 - # This problem has only been seen on Solaris X64, but we call this tool 6.20 - # on all Solaris builds just in case. 6.21 - # 6.22 - # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. 6.23 - # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. 6.24 - $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \ 6.25 - $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) 6.26 - $(RM) $$@ 6.27 - $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< 6.28 - $(OBJCOPY) --only-keep-debug $$< $$@ 6.29 - $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< 6.30 - else # not solaris 6.31 - $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) 6.32 - $(RM) $$@ 6.33 - $(OBJCOPY) --only-keep-debug $$< $$@ 6.34 - $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< 6.35 - endif # Touch to not retrigger rule on rebuild 6.36 + ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X 6.37 + ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows 6.38 + ifeq ($(OPENJDK_TARGET_OS), solaris) 6.39 + # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. 6.40 + # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from 6.41 + # empty section headers until a fixed $(OBJCOPY) is available. 6.42 + # An empty section header has sh_addr == 0 and sh_size == 0. 6.43 + # This problem has only been seen on Solaris X64, but we call this tool 6.44 + # on all Solaris builds just in case. 6.45 + # 6.46 + # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. 6.47 + # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. 6.48 + $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \ 6.49 + $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) 6.50 + $(RM) $$@ 6.51 + $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< 6.52 + $(OBJCOPY) --only-keep-debug $$< $$@ 6.53 + $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< 6.54 + else # not solaris 6.55 + $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) 6.56 + $(RM) $$@ 6.57 + $(OBJCOPY) --only-keep-debug $$< $$@ 6.58 + $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< 6.59 + endif # Touch to not retrigger rule on rebuild 6.60 $(TOUCH) $$@ 6.61 + endif # !windows 6.62 + endif # !macosx 6.63 6.64 ifeq ($(ZIP_DEBUGINFO_FILES), true) 6.65 + ifneq ($(OPENJDK_TARGET_OS), macosx) # no MacOS X support yet 6.66 $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz 6.67 6.68 ifeq ($(OPENJDK_TARGET_OS), windows) 6.69 @@ -472,11 +477,12 @@ 6.70 $(CD) $$($1_OBJECT_DIR) \ 6.71 && $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo 6.72 endif 6.73 + endif # no MacOS X support yet 6.74 else 6.75 ifeq ($(OPENJDK_TARGET_OS), windows) 6.76 $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \ 6.77 $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb 6.78 - else 6.79 + else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files 6.80 $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo 6.81 endif 6.82 endif 6.83 @@ -513,31 +519,36 @@ 6.84 $(CP) $$< $$@ 6.85 endif 6.86 6.87 - ifeq ($(OPENJDK_TARGET_OS), solaris) 6.88 - # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. 6.89 - # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from 6.90 - # empty section headers until a fixed $(OBJCOPY) is available. 6.91 - # An empty section header has sh_addr == 0 and sh_size == 0. 6.92 - # This problem has only been seen on Solaris X64, but we call this tool 6.93 - # on all Solaris builds just in case. 6.94 - # 6.95 - # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. 6.96 - # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. 6.97 - $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \ 6.98 - $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) 6.99 - $(RM) $$@ 6.100 - $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< 6.101 - $(OBJCOPY) --only-keep-debug $$< $$@ 6.102 - $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< 6.103 - else # not solaris 6.104 - $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) 6.105 - $(RM) $$@ 6.106 - $(OBJCOPY) --only-keep-debug $$< $$@ 6.107 - $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< 6.108 - endif 6.109 - $(TOUCH) $$@ 6.110 + ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X 6.111 + ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows 6.112 + ifeq ($(OPENJDK_TARGET_OS), solaris) 6.113 + # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. 6.114 + # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from 6.115 + # empty section headers until a fixed $(OBJCOPY) is available. 6.116 + # An empty section header has sh_addr == 0 and sh_size == 0. 6.117 + # This problem has only been seen on Solaris X64, but we call this tool 6.118 + # on all Solaris builds just in case. 6.119 + # 6.120 + # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. 6.121 + # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. 6.122 + $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \ 6.123 + $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) 6.124 + $(RM) $$@ 6.125 + $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< 6.126 + $(OBJCOPY) --only-keep-debug $$< $$@ 6.127 + $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< 6.128 + else # not solaris 6.129 + $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) 6.130 + $(RM) $$@ 6.131 + $(OBJCOPY) --only-keep-debug $$< $$@ 6.132 + $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< 6.133 + endif 6.134 + $(TOUCH) $$@ 6.135 + endif # !windows 6.136 + endif # !macosx 6.137 6.138 ifeq ($(ZIP_DEBUGINFO_FILES), true) 6.139 + ifneq ($(OPENJDK_TARGET_OS), macosx) # no MacOS X support yet 6.140 $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz 6.141 6.142 ifeq ($(OPENJDK_TARGET_OS), windows) 6.143 @@ -550,11 +561,12 @@ 6.144 $(CD) $$($1_OBJECT_DIR) \ 6.145 && $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo 6.146 endif 6.147 + endif # no MacOS X support yet 6.148 else 6.149 ifeq ($(OPENJDK_TARGET_OS), windows) 6.150 $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \ 6.151 $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb 6.152 - else 6.153 + else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files 6.154 $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo 6.155 endif 6.156 endif