Mercurial > hg > truffle
comparison make/solaris/makefiles/vm.make @ 20640:8c76e844a7f9
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
author | dcubed |
---|---|
date | Sat, 15 Nov 2014 11:22:07 -0800 |
parents | c49cd31b6da6 |
children | 7848fc12602b |
comparison
equal
deleted
inserted
replaced
20639:84e11eeec136 | 20640:8c76e844a7f9 |
---|---|
1 # | 1 # |
2 # Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. | 2 # Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. |
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | 4 # |
5 # This code is free software; you can redistribute it and/or modify it | 5 # This code is free software; you can redistribute it and/or modify it |
6 # under the terms of the GNU General Public License version 2 only, as | 6 # under the terms of the GNU General Public License version 2 only, as |
7 # published by the Free Software Foundation. | 7 # published by the Free Software Foundation. |
149 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH) | 149 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH) |
150 | 150 |
151 #---------------------------------------------------------------------- | 151 #---------------------------------------------------------------------- |
152 # jvm_db & dtrace | 152 # jvm_db & dtrace |
153 include $(MAKEFILES_DIR)/dtrace.make | 153 include $(MAKEFILES_DIR)/dtrace.make |
154 | |
155 #---------------------------------------------------------------------- | |
156 # add_gnu_debuglink tool | |
157 include $(MAKEFILES_DIR)/add_gnu_debuglink.make | |
158 | |
159 #---------------------------------------------------------------------- | |
160 # fix_empty_sec_hdr_flags tool | |
161 include $(MAKEFILES_DIR)/fix_empty_sec_hdr_flags.make | |
162 | 154 |
163 #---------------------------------------------------------------------- | 155 #---------------------------------------------------------------------- |
164 # JVM | 156 # JVM |
165 | 157 |
166 JVM = jvm | 158 JVM = jvm |
297 LINK_VM = $(LINK_LIB.CC) | 289 LINK_VM = $(LINK_LIB.CC) |
298 else | 290 else |
299 LINK_VM = $(LINK_LIB.CXX) | 291 LINK_VM = $(LINK_LIB.CXX) |
300 endif | 292 endif |
301 # making the library: | 293 # making the library: |
302 $(LIBJVM): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(LIBJVM.o) $(LIBJVM_MAPFILE) | 294 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) |
303 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),) | 295 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),) |
304 @echo Linking vm... | 296 @echo Linking vm... |
305 $(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK) | 297 $(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK) |
306 $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM) | 298 $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM) |
307 $(QUIETLY) $(LINK_LIB.CXX/POST_HOOK) | 299 $(QUIETLY) $(LINK_LIB.CXX/POST_HOOK) |
308 $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1 | 300 $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1 |
309 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) | 301 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
310 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. | |
311 # Clear the SHF_ALLOC flag (if set) from empty section headers. | |
312 # An empty section header has sh_addr == 0 and sh_size == 0. | |
313 # This problem has only been seen on Solaris X64, but we call this tool | |
314 # on all Solaris builds just in case. | |
315 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ | |
316 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) | 302 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) |
317 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. | 303 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ |
318 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. | |
319 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ | |
320 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJVM_DEBUGINFO) $@ | |
321 ifeq ($(STRIP_POLICY),all_strip) | 304 ifeq ($(STRIP_POLICY),all_strip) |
322 $(QUIETLY) $(STRIP) $@ | 305 $(QUIETLY) $(STRIP) $@ |
323 else | 306 else |
324 ifeq ($(STRIP_POLICY),min_strip) | 307 ifeq ($(STRIP_POLICY),min_strip) |
325 $(QUIETLY) $(STRIP) -x $@ | 308 $(QUIETLY) $(STRIP) -x $@ |