comparison make/solaris/makefiles/dtrace.make @ 6167:d1b0644d6acf

7175255: symlinks are wrong, which caused jdk8-promote-2 to fail (client/64/64 directories in debuginfo zips) Summary: Fix bad paths in client/64 and server/64 debug info and symlink creation Reviewed-by: ohair, dholmes
author dcubed
date Wed, 20 Jun 2012 14:18:25 -0700
parents 9c1709c4c80c
children 61a94c2da7c4
comparison
equal deleted inserted replaced
6095:9c1709c4c80c 6167:d1b0644d6acf
92 ISA = $(subst i386,i486,$(shell isainfo -n)) 92 ISA = $(subst i386,i486,$(shell isainfo -n))
93 93
94 # Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so 94 # Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so
95 ifneq ("${ISA}","${BUILDARCH}") 95 ifneq ("${ISA}","${BUILDARCH}")
96 96
97 XLIBJVM_DB = 64/$(LIBJVM_DB) 97 XLIBJVM_DIR = 64
98 XLIBJVM_DB_G = 64/$(LIBJVM_DB_G) 98 XLIBJVM_DB = $(XLIBJVM_DIR)/$(LIBJVM_DB)
99 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE) 99 XLIBJVM_DB_G = $(XLIBJVM_DIR)/$(LIBJVM_DB_G)
100 XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G) 100 XLIBJVM_DTRACE = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE)
101 101 XLIBJVM_DTRACE_G = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_G)
102 XLIBJVM_DB_DEBUGINFO = 64/$(LIBJVM_DB_DEBUGINFO) 102
103 XLIBJVM_DB_DIZ = 64/$(LIBJVM_DB_DIZ) 103 XLIBJVM_DB_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DB_DEBUGINFO)
104 XLIBJVM_DB_G_DEBUGINFO = 64/$(LIBJVM_DB_G_DEBUGINFO) 104 XLIBJVM_DB_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DB_DIZ)
105 XLIBJVM_DB_G_DIZ = 64/$(LIBJVM_DB_G_DIZ) 105 XLIBJVM_DB_G_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DB_G_DEBUGINFO)
106 XLIBJVM_DTRACE_DEBUGINFO = 64/$(LIBJVM_DTRACE_DEBUGINFO) 106 XLIBJVM_DB_G_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DB_G_DIZ)
107 XLIBJVM_DTRACE_DIZ = 64/$(LIBJVM_DTRACE_DIZ) 107 XLIBJVM_DTRACE_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DEBUGINFO)
108 XLIBJVM_DTRACE_G_DEBUGINFO = 64/$(LIBJVM_DTRACE_G_DEBUGINFO) 108 XLIBJVM_DTRACE_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DIZ)
109 XLIBJVM_DTRACE_G_DIZ = 64/$(LIBJVM_DTRACE_G_DIZ) 109 XLIBJVM_DTRACE_G_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_G_DEBUGINFO)
110 XLIBJVM_DTRACE_G_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_G_DIZ)
110 111
111 $(XLIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) 112 $(XLIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
112 @echo Making $@ 113 @echo Making $@
113 $(QUIETLY) mkdir -p 64/ ; \ 114 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
114 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \ 115 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \
115 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc 116 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
116 [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); } 117 [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); }
117 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 118 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
118 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. 119 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
122 # on all Solaris builds just in case. 123 # on all Solaris builds just in case.
123 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ 124 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@
124 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO) 125 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO)
125 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. 126 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
126 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. 127 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
127 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DB_DEBUGINFO) $@ 128 # $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB) ;
128 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(XLIBJVM_DB_DEBUGINFO) $@ 129 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
130 # in the link name:
131 ( cd $(XLIBJVM_DIR) && $(ADD_GNU_DEBUGLINK) $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB) )
129 ifeq ($(STRIP_POLICY),all_strip) 132 ifeq ($(STRIP_POLICY),all_strip)
130 $(QUIETLY) $(STRIP) $@ 133 $(QUIETLY) $(STRIP) $@
131 else 134 else
132 ifeq ($(STRIP_POLICY),min_strip) 135 ifeq ($(STRIP_POLICY),min_strip)
133 $(QUIETLY) $(STRIP) -x $@ 136 $(QUIETLY) $(STRIP) -x $@
134 # implied else here is no stripping at all 137 # implied else here is no stripping at all
135 endif 138 endif
136 endif 139 endif
137 [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); } 140 [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); }
138 ifeq ($(ZIP_DEBUGINFO_FILES),1) 141 ifeq ($(ZIP_DEBUGINFO_FILES),1)
139 $(ZIPEXE) -q -y $(XLIBJVM_DB_DIZ) $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO) 142 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
143 # in the archived name:
144 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO) )
140 $(RM) $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO) 145 $(RM) $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO)
141 [ -f $(XLIBJVM_DB_G_DIZ) ] || { ln -s $(XLIBJVM_DB_DIZ) $(XLIBJVM_DB_G_DIZ); } 146 [ -f $(XLIBJVM_DB_G_DIZ) ] || { ln -s $(XLIBJVM_DB_DIZ) $(XLIBJVM_DB_G_DIZ); }
142 endif 147 endif
143 endif 148 endif
144 149
145 $(XLIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) 150 $(XLIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
146 @echo Making $@ 151 @echo Making $@
147 $(QUIETLY) mkdir -p 64/ ; \ 152 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
148 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \ 153 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \
149 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor 154 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
150 [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); } 155 [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); }
151 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 156 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
152 # Clear the SHF_ALLOC flag (if set) from empty section headers. 157 # Clear the SHF_ALLOC flag (if set) from empty section headers.
153 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ 158 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@
154 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO) 159 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO)
155 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. 160 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
156 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DTRACE_DEBUGINFO) $@ 161 # $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE) ;
157 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(XLIBJVM_DTRACE_DEBUGINFO) $@ 162 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
163 # in the link name:
164 ( cd $(XLIBJVM_DIR) && $(ADD_GNU_DEBUGLINK) $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE) )
158 ifeq ($(STRIP_POLICY),all_strip) 165 ifeq ($(STRIP_POLICY),all_strip)
159 $(QUIETLY) $(STRIP) $@ 166 $(QUIETLY) $(STRIP) $@
160 else 167 else
161 ifeq ($(STRIP_POLICY),min_strip) 168 ifeq ($(STRIP_POLICY),min_strip)
162 $(QUIETLY) $(STRIP) -x $@ 169 $(QUIETLY) $(STRIP) -x $@
163 # implied else here is no stripping at all 170 # implied else here is no stripping at all
164 endif 171 endif
165 endif 172 endif
166 [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); } 173 [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); }
167 ifeq ($(ZIP_DEBUGINFO_FILES),1) 174 ifeq ($(ZIP_DEBUGINFO_FILES),1)
168 $(ZIPEXE) -q -y $(XLIBJVM_DTRACE_DIZ) $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO) 175 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
176 # in the archived name:
177 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO) )
169 $(RM) $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO) 178 $(RM) $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO)
170 [ -f $(XLIBJVM_DTRACE_G_DIZ) ] || { ln -s $(XLIBJVM_DTRACE_DIZ) $(XLIBJVM_DTRACE_G_DIZ); } 179 [ -f $(XLIBJVM_DTRACE_G_DIZ) ] || { ln -s $(XLIBJVM_DTRACE_DIZ) $(XLIBJVM_DTRACE_G_DIZ); }
171 endif 180 endif
172 endif 181 endif
173 182