From 5c8f537669d3379fc50bb0a96accac756e43e281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= Date: Thu, 24 Jan 2019 18:29:48 +0100 Subject: [PATCH] bpo-35520: Fix build with dtrace support on certain systems. (#11194) --- Makefile.pre.in | 12 ++++++++---- configure | 2 +- configure.ac | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 3c77a0e9fe3..f8216971958 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -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) diff --git a/configure b/configure index b32481dca03..ebd9f904b09 100755 --- 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 diff --git a/configure.ac b/configure.ac index 262c72668a9..721edb015ea 100644 --- a/configure.ac +++ b/configure.ac @@ -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 ])