73 # - skip three digit internal Nevada builds thru 149 74 # - skip internal Nevada builds 150-158 75 # - if not skipped, print define for Nevada-B159 or later 76 SOLARIS_11_B159_OR_LATER := \ 77 $(shell uname -r -v \ 78 | sed -n \ 79 -e '/^[0-4]\. /b' \ 80 -e '/^5\.[0-9] /b' \ 81 -e '/^5\.10 /b' \ 82 -e '/ snv_[0-9][0-9]$$/b' \ 83 -e '/ snv_[01][0-4][0-9]$$/b' \ 84 -e '/ snv_15[0-8]$$/b' \ 85 -e 's/.*/-DSOLARIS_11_B159_OR_LATER/' \ 86 -e 'p' \ 87 ) 88 89 # Uncomment the following to simulate building on Nevada-B159 or later 90 # when actually building on Nevada-B158 or earlier: 91 #SOLARIS_11_B159_OR_LATER=-DSOLARIS_11_B159_OR_LATER 92 93 $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE) 94 $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \ 95 echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ 96 exit 1; \ 97 fi 98 @echo Making SA debugger back-end... 99 $(QUIETLY) $(CXX) \ 100 $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ 101 -I$(SASRCDIR) \ 102 -I$(GENERATED) \ 103 -I$(BOOT_JAVA_HOME)/include \ 104 -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \ 105 $(SOLARIS_11_B159_OR_LATER) \ 106 $(SASRCFILES) \ 107 $(SA_LFLAGS) \ 108 -o $@ \ 109 -ldl -ldemangle -lthread -lc 110 [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); } 111 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 112 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO) 113 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@ 114 ifeq ($(STRIP_POLICY),all_strip) 115 $(QUIETLY) $(STRIP) $@ 116 else 117 ifeq ($(STRIP_POLICY),min_strip) 118 $(QUIETLY) $(STRIP) -x $@ 119 # implied else here is no stripping at all 120 endif 121 endif 122 [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } 123 ifeq ($(ZIP_DEBUGINFO_FILES),1) 124 $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 125 $(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 126 [ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); } 127 endif 128 endif 129 130 install_saproc: $(BULDLIBSAPROC) 131 $(QUIETLY) if [ -f $(LIBSAPROC) ] ; then \ 132 echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \ 133 test -f $(LIBSAPROC_DEBUGINFO) && \ | 73 # - skip three digit internal Nevada builds thru 149 74 # - skip internal Nevada builds 150-158 75 # - if not skipped, print define for Nevada-B159 or later 76 SOLARIS_11_B159_OR_LATER := \ 77 $(shell uname -r -v \ 78 | sed -n \ 79 -e '/^[0-4]\. /b' \ 80 -e '/^5\.[0-9] /b' \ 81 -e '/^5\.10 /b' \ 82 -e '/ snv_[0-9][0-9]$$/b' \ 83 -e '/ snv_[01][0-4][0-9]$$/b' \ 84 -e '/ snv_15[0-8]$$/b' \ 85 -e 's/.*/-DSOLARIS_11_B159_OR_LATER/' \ 86 -e 'p' \ 87 ) 88 89 # Uncomment the following to simulate building on Nevada-B159 or later 90 # when actually building on Nevada-B158 or earlier: 91 #SOLARIS_11_B159_OR_LATER=-DSOLARIS_11_B159_OR_LATER 92 93 $(LIBSAPROC): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(SASRCFILES) $(SAMAPFILE) 94 $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \ 95 echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ 96 exit 1; \ 97 fi 98 @echo Making SA debugger back-end... 99 $(QUIETLY) $(CXX) \ 100 $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ 101 -I$(SASRCDIR) \ 102 -I$(GENERATED) \ 103 -I$(BOOT_JAVA_HOME)/include \ 104 -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \ 105 $(SOLARIS_11_B159_OR_LATER) \ 106 $(SASRCFILES) \ 107 $(SA_LFLAGS) \ 108 -o $@ \ 109 -ldl -ldemangle -lthread -lc 110 [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); } 111 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 112 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. 113 # Clear the SHF_ALLOC flag (if set) from empty section headers. 114 # An empty section header has sh_addr == 0 and sh_size == 0. 115 # This problem has only been seen on Solaris X64, but we call this tool 116 # on all Solaris builds just in case. 117 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ 118 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO) 119 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. 120 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. 121 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@ 122 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBSAPROC_DEBUGINFO) $@ 123 ifeq ($(STRIP_POLICY),all_strip) 124 $(QUIETLY) $(STRIP) $@ 125 else 126 ifeq ($(STRIP_POLICY),min_strip) 127 $(QUIETLY) $(STRIP) -x $@ 128 # implied else here is no stripping at all 129 endif 130 endif 131 [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } 132 ifeq ($(ZIP_DEBUGINFO_FILES),1) 133 $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 134 $(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 135 [ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); } 136 endif 137 endif 138 139 install_saproc: $(BULDLIBSAPROC) 140 $(QUIETLY) if [ -f $(LIBSAPROC) ] ; then \ 141 echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \ 142 test -f $(LIBSAPROC_DEBUGINFO) && \ |