comparison make/linux/makefiles/jsig.make @ 3954:da0999c4b733

7071904: 4/4 HotSpot: Full Debug Symbols Summary: Add support for .debuginfo files for HSX libraries. Reviewed-by: poonam, dholmes, never
author dcubed
date Fri, 16 Sep 2011 16:21:20 -0700
parents c18cbe5936b8
children d652a62d6e03
comparison
equal deleted inserted replaced
3950:5a3c2bc614ca 3954:da0999c4b733
1 # 1 #
2 # Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 2005, 2011, 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.
29 LIBJSIG = lib$(JSIG).so 29 LIBJSIG = lib$(JSIG).so
30 30
31 JSIG_G = $(JSIG)$(G_SUFFIX) 31 JSIG_G = $(JSIG)$(G_SUFFIX)
32 LIBJSIG_G = lib$(JSIG_G).so 32 LIBJSIG_G = lib$(JSIG_G).so
33 33
34 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo
35 LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo
36
34 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm 37 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
35 38
36 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) 39 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG)
40 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO)
37 41
38 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig 42 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
39 43
40 # On Linux we really dont want a mapfile, as this library is small 44 # On Linux we really dont want a mapfile, as this library is small
41 # and preloaded using LD_PRELOAD, making functions private will 45 # and preloaded using LD_PRELOAD, making functions private will
52 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) 56 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
53 @echo Making signal interposition lib... 57 @echo Making signal interposition lib...
54 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ 58 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
55 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl 59 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
56 $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } 60 $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
61 ifneq ($(OBJCOPY),)
62 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
63 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
64 ifeq ($(STRIP_POLICY),all_strip)
65 $(QUIETLY) $(STRIP) $@
66 else
67 ifeq ($(STRIP_POLICY),min_strip)
68 $(QUIETLY) $(STRIP) -g $@
69 # implied else here is no stripping at all
70 endif
71 endif
72 [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); }
73 endif
57 74
58 install_jsig: $(LIBJSIG) 75 install_jsig: $(LIBJSIG)
59 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" 76 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
77 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
78 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
60 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" 79 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
61 80
62 .PHONY: install_jsig 81 .PHONY: install_jsig