]> granicus.if.org Git - python/commitdiff
bpo-35520: Fix build with dtrace support on certain systems. (#11194)
authorJakub Kulík <Kulikjak@gmail.com>
Thu, 24 Jan 2019 17:29:48 +0000 (18:29 +0100)
committerŁukasz Langa <lukasz@langa.pl>
Thu, 24 Jan 2019 17:29:48 +0000 (18:29 +0100)
Makefile.pre.in
configure
configure.ac

index 3c77a0e9fe32b6e346fb1816028f2ca5572635c1..f8216971958a4e6a815c21d21c2d100f7ff2190f 100644 (file)
@@ -451,8 +451,7 @@ LIBRARY_OBJS=       \
 # On some systems, object files that reference DTrace probes need to be modified
 # in-place by dtrace(1).
 DTRACE_DEPS = \
-       Python/ceval.o
-# XXX: should gcmodule, etc. be here, too?
+       Python/ceval.o Python/import.o Modules/gcmodule.o
 
 #########################################################################
 # Rules
@@ -628,7 +627,7 @@ $(LIBRARY): $(LIBRARY_OBJS)
        -rm -f $@
        $(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS)
 
-libpython$(LDVERSION).so: $(LIBRARY_OBJS)
+libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS)
        if test $(INSTSONAME) != $(LDLIBRARY); then \
                $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \
                $(LN) -f $(INSTSONAME) $@; \
@@ -640,7 +639,7 @@ libpython3.so:      libpython$(LDVERSION).so
        $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
 
 libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
-        $(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \
+        $(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(DTRACE_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \
 
 
 libpython$(VERSION).sl: $(LIBRARY_OBJS)
@@ -752,6 +751,7 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
                $(PYTHON_OBJS) \
                $(MODULE_OBJS) \
                $(MODOBJS) \
+               $(DTRACE_OBJS) \
                $(srcdir)/Modules/getbuildinfo.c
        $(CC) -c $(PY_CORE_CFLAGS) \
              -DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \
@@ -954,6 +954,10 @@ Include/pydtrace_probes.h: $(srcdir)/Include/pydtrace.d
        sed 's/PYTHON_/PyDTrace_/' $@ > $@.tmp
        mv $@.tmp $@
 
+Python/ceval.o: Include/pydtrace.h
+Python/import.o: Include/pydtrace.h
+Modules/gcmodule.o: Include/pydtrace.h
+
 Python/pydtrace.o: $(srcdir)/Include/pydtrace.d $(DTRACE_DEPS)
        $(DTRACE) $(DFLAGS) -o $@ -G -s $< $(DTRACE_DEPS)
 
index b32481dca03fff456bf7642dcce13a32342b67c3..ebd9f904b09afb6c803159a598ee579f73ced156 100755 (executable)
--- a/configure
+++ b/configure
@@ -11352,7 +11352,7 @@ if ${ac_cv_dtrace_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
               ac_cv_dtrace_link=no
-            echo 'BEGIN' > conftest.d
+            echo 'BEGIN{}' > conftest.d
             "$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \
                 ac_cv_dtrace_link=yes
 
index 262c72668a956ec9a80a8ab6ac73583ce095bd34..721edb015ea36fb1478eae4358db928b2b0c2ce2 100644 (file)
@@ -3429,7 +3429,7 @@ then
     AC_CACHE_CHECK([whether DTrace probes require linking],
         [ac_cv_dtrace_link], [dnl
             ac_cv_dtrace_link=no
-            echo 'BEGIN' > conftest.d
+            echo 'BEGIN{}' > conftest.d
             "$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \
                 ac_cv_dtrace_link=yes
       ])