Print this page
rev 6896 : 8033602: wrong stabs data in libjvm.debuginfo on JDK 8 - SPARC
8034005: cannot debug in synchronizer.o or objectMonitor.o on Solaris X86
Summary: Solaris needs objcopy version of 2.21.1 or newer is needed to create valid .debuginfo files.
Reviewed-by: dsamersoff, sspitsyn, dholmes, ihse

Split Split Close
Expand all
Collapse all
          --- old/hotspot/make/solaris/makefiles/jsig.make
          +++ new/hotspot/make/solaris/makefiles/jsig.make
   1    1  #
   2      -# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
        2 +# Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
   3    3  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4    4  #
   5    5  # This code is free software; you can redistribute it and/or modify it
   6    6  # under the terms of the GNU General Public License version 2 only, as
   7    7  # published by the Free Software Foundation.
   8    8  #
   9    9  # This code is distributed in the hope that it will be useful, but WITHOUT
  10   10  # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11   11  # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12   12  # version 2 for more details (a copy is included in the LICENSE file that
↓ open down ↓ 27 lines elided ↑ open up ↑
  40   40  LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
  41   41  
  42   42  LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
  43   43  
  44   44  ifdef USE_GCC
  45   45  LFLAGS_JSIG += -D_REENTRANT
  46   46  else
  47   47  LFLAGS_JSIG += -mt -xnolib
  48   48  endif
  49   49  
  50      -$(LIBJSIG): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
       50 +$(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
  51   51          @echo Making signal interposition lib...
  52   52          $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
  53   53                           $(LFLAGS_JSIG) -o $@ $(JSIGSRCDIR)/jsig.c -ldl
  54   54  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  55      -# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
  56      -# Clear the SHF_ALLOC flag (if set) from empty section headers.
  57      -# An empty section header has sh_addr == 0 and sh_size == 0.
  58      -# This problem has only been seen on Solaris X64, but we call this tool
  59      -# on all Solaris builds just in case.
  60      -        $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@
  61   55          $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
  62      -# $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
  63      -# Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
  64      -#       $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
  65      -        $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJSIG_DEBUGINFO) $@
       56 +        $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
  66   57    ifeq ($(STRIP_POLICY),all_strip)
  67   58          $(QUIETLY) $(STRIP) $@
  68   59    else
  69   60      ifeq ($(STRIP_POLICY),min_strip)
  70   61          $(QUIETLY) $(STRIP) -x $@
  71   62      # implied else here is no stripping at all
  72   63      endif
  73   64    endif
  74   65    ifeq ($(ZIP_DEBUGINFO_FILES),1)
  75   66          $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
↓ open down ↓ 13 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX