Mercurial > hg > truffle
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 |