Mercurial > hg > truffle
comparison make/linux/makefiles/jsig.make @ 6020:d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files.
Reviewed-by: dholmes, ohair, sspitsyn
author | dcubed |
---|---|
date | Fri, 23 Mar 2012 11:50:33 -0700 |
parents | da0999c4b733 |
children | 957c266d8bc5 892acf0431ef |
comparison
equal
deleted
inserted
replaced
4958:3b24e7e01d20 | 6020:d652a62d6e03 |
---|---|
1 # | 1 # |
2 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. | 2 # Copyright (c) 2005, 2012, 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. |
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 | 34 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo |
35 LIBJSIG_DIZ = lib$(JSIG).diz | |
35 LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo | 36 LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo |
37 LIBJSIG_G_DIZ = lib$(JSIG_G).diz | |
36 | 38 |
37 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm | 39 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm |
38 | 40 |
39 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) | 41 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) |
40 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO) | 42 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO) |
43 DEST_JSIG_DIZ = $(JDK_LIBDIR)/$(LIBJSIG_DIZ) | |
41 | 44 |
42 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig | 45 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig |
43 | 46 |
44 # On Linux we really dont want a mapfile, as this library is small | 47 # On Linux we really dont want a mapfile, as this library is small |
45 # and preloaded using LD_PRELOAD, making functions private will | 48 # and preloaded using LD_PRELOAD, making functions private will |
56 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) | 59 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) |
57 @echo Making signal interposition lib... | 60 @echo Making signal interposition lib... |
58 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ | 61 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ |
59 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl | 62 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl |
60 $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } | 63 $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } |
61 ifneq ($(OBJCOPY),) | 64 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
62 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) | 65 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) |
63 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ | 66 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ |
64 ifeq ($(STRIP_POLICY),all_strip) | 67 ifeq ($(STRIP_POLICY),all_strip) |
65 $(QUIETLY) $(STRIP) $@ | 68 $(QUIETLY) $(STRIP) $@ |
66 else | 69 else |
68 $(QUIETLY) $(STRIP) -g $@ | 71 $(QUIETLY) $(STRIP) -g $@ |
69 # implied else here is no stripping at all | 72 # implied else here is no stripping at all |
70 endif | 73 endif |
71 endif | 74 endif |
72 [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); } | 75 [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); } |
76 ifeq ($(ZIP_DEBUGINFO_FILES),1) | |
77 $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) | |
78 $(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) | |
79 [ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); } | |
80 endif | |
73 endif | 81 endif |
74 | 82 |
75 install_jsig: $(LIBJSIG) | 83 install_jsig: $(LIBJSIG) |
76 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" | 84 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" |
77 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \ | 85 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \ |
78 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO) | 86 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO) |
87 $(QUIETLY) test -f $(LIBJSIG_DIZ) && \ | |
88 cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ) | |
79 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" | 89 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" |
80 | 90 |
81 .PHONY: install_jsig | 91 .PHONY: install_jsig |