Print this page
rev 416 : 6769128: failure to run generateJvmOffsets is ignored
Reviewed-by:

Split Split Close
Expand all
Collapse all
          --- old/make/solaris/makefiles/dtrace.make
          +++ new/make/solaris/makefiles/dtrace.make
↓ open down ↓ 108 lines elided ↑ open up ↑
 109  109  
 110  110  lib$(GENOFFS).so: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
 111  111                    $(INCLS)/_vmStructs.cpp.incl $(LIBJVM.o)
 112  112          $(QUIETLY) $(CCC) $(CPPFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
 113  113                   $(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -lc
 114  114  
 115  115  $(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so
 116  116          $(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
 117  117                  ./lib$(GENOFFS).so
 118  118  
 119      -# $@.tmp is created first. It's to avoid empty $(JVMOFFS).h produced in error case.
      119 +CONDITIONALLY_UPDATE_JVMOFFS_TARGET = \
      120 +        cmp -s $@ $@.tmp; \
      121 +        case $$? in \
      122 +        0) rm -f $@.tmp;; \
      123 +        *) rm -f $@ && mv $@.tmp $@ && echo Updated $@;; \
      124 +        esac
      125 +
      126 +# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
 120  127  $(JVMOFFS).h: $(GENOFFS)
 121      -        $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp ; \
 122      -        if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
 123      -        then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
 124      -        else rm -f $@.tmp; \
 125      -        fi
      128 +        $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp
      129 +        $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
 126  130  
 127  131  $(JVMOFFS)Index.h: $(GENOFFS)
 128      -        $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp ; \
 129      -        if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
 130      -        then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
 131      -        else rm -f $@.tmp; \
 132      -        fi
      132 +        $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp
      133 +        $(QUIETLY)  $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
 133  134  
 134  135  $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
 135      -        $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp ; \
 136      -        if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
 137      -        then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
 138      -        else rm -f $@.tmp; \
 139      -        fi
      136 +        $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp
      137 +        $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
 140  138  
 141  139  $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp 
 142  140          $(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
 143  141  
 144  142  $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
 145  143          @echo Making $@
 146  144          $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
 147  145                  $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
 148  146  
 149  147  $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
↓ open down ↓ 106 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX