From 794aca8ee2a6700e1d051200e8149fad86e6bac1 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Tue, 3 Dec 2019 16:38:09 +0000 Subject: [PATCH 1/2] DTrace build fix for FreeBSD. - allowing passing an extra flag as it need to define the arch size. - casting some probe's arguments. --- Python/ceval.c | 6 +++--- Python/import.c | 4 ++-- Python/sysmodule.c | 2 +- configure | 3 +-- configure.ac | 3 +-- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Python/ceval.c b/Python/ceval.c index 96ed329b0d99524..0a2acbd310a294f 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -5458,7 +5458,7 @@ dtrace_function_entry(PyFrameObject *f) funcname = PyUnicode_AsUTF8(f->f_code->co_name); lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); - PyDTrace_FUNCTION_ENTRY(filename, funcname, lineno); + PyDTrace_FUNCTION_ENTRY((char *)filename, (char *)funcname, lineno); } static void @@ -5472,7 +5472,7 @@ dtrace_function_return(PyFrameObject *f) funcname = PyUnicode_AsUTF8(f->f_code->co_name); lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); - PyDTrace_FUNCTION_RETURN(filename, funcname, lineno); + PyDTrace_FUNCTION_RETURN((char *)filename, (char *)funcname, lineno); } /* DTrace equivalent of maybe_call_line_trace. */ @@ -5504,7 +5504,7 @@ maybe_dtrace_line(PyFrameObject *frame, co_name = PyUnicode_AsUTF8(frame->f_code->co_name); if (!co_name) co_name = "?"; - PyDTrace_LINE(co_filename, co_name, line); + PyDTrace_LINE((char *)co_filename, (char *)co_name, line); } *instr_prev = frame->f_lasti; } diff --git a/Python/import.c b/Python/import.c index 045b6d0a9bf6f97..2e5f78382ed44d8 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1762,14 +1762,14 @@ import_find_and_load(PyThreadState *tstate, PyObject *abs_name) } if (PyDTrace_IMPORT_FIND_LOAD_START_ENABLED()) - PyDTrace_IMPORT_FIND_LOAD_START(PyUnicode_AsUTF8(abs_name)); + PyDTrace_IMPORT_FIND_LOAD_START((char *)PyUnicode_AsUTF8(abs_name)); mod = _PyObject_CallMethodIdObjArgs(interp->importlib, &PyId__find_and_load, abs_name, interp->import_func, NULL); if (PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED()) - PyDTrace_IMPORT_FIND_LOAD_DONE(PyUnicode_AsUTF8(abs_name), + PyDTrace_IMPORT_FIND_LOAD_DONE((char *)PyUnicode_AsUTF8(abs_name), mod != NULL); if (import_time) { diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 78b9d22821fe3de..03e13d35855ccfe 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -204,7 +204,7 @@ PySys_Audit(const char *event, const char *argFormat, ...) /* Dtrace USDT point */ if (dtrace) { - PyDTrace_AUDIT(event, (void *)eventArgs); + PyDTrace_AUDIT((char *)event, (void *)eventArgs); } /* Call interpreter hooks */ diff --git a/configure b/configure index 44f14c3c2cfe1b6..aad9d3b544fac56 100755 --- a/configure +++ b/configure @@ -11362,7 +11362,6 @@ $as_echo "$with_dtrace" >&6; } DTRACE= -DFLAGS= DTRACE_HEADERS= DTRACE_OBJS= @@ -11428,7 +11427,7 @@ if ${ac_cv_dtrace_link+:} false; then : else ac_cv_dtrace_link=no echo 'BEGIN{}' > conftest.d - "$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ + "$DTRACE" "$DFLAGS" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ ac_cv_dtrace_link=yes fi diff --git a/configure.ac b/configure.ac index 0b28dda44cdb8e5..1cb2b04ef4d96ed 100644 --- a/configure.ac +++ b/configure.ac @@ -3473,7 +3473,6 @@ AC_SUBST(DFLAGS) AC_SUBST(DTRACE_HEADERS) AC_SUBST(DTRACE_OBJS) DTRACE= -DFLAGS= DTRACE_HEADERS= DTRACE_OBJS= @@ -3494,7 +3493,7 @@ then [ac_cv_dtrace_link], [dnl ac_cv_dtrace_link=no echo 'BEGIN{}' > conftest.d - "$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ + "$DTRACE" "$DFLAGS" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ ac_cv_dtrace_link=yes ]) if test "$ac_cv_dtrace_link" = "yes"; then From 36cfbfb7e081a1674db2dd99cceb253b1786e32c Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2019 16:41:24 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20blu?= =?UTF-8?q?rb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0.rst b/Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0.rst new file mode 100644 index 000000000000000..50d4b6c286843e4 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0.rst @@ -0,0 +1 @@ +Fix DTrace build issues on FreeBSD. Patch by David Carlier.