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 $@ |