]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-38960: DTrace build fix for FreeBSD. (GH-17451)
authorDavid Carlier <dcarlier@afilias.info>
Tue, 28 Jan 2020 12:53:32 +0000 (12:53 +0000)
committerPetr Viktorin <encukou@gmail.com>
Tue, 28 Jan 2020 12:53:32 +0000 (13:53 +0100)
DTrace build fix for FreeBSD.

- allowing passing an extra flag as it need to define the arch size.
- casting some probe's arguments.

Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0.rst [new file with mode: 0644]
Python/ceval.c
Python/import.c
Python/sysmodule.c
configure
configure.ac

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 (file)
index 0000000..50d4b6c
--- /dev/null
@@ -0,0 +1 @@
+Fix DTrace build issues on FreeBSD. Patch by David Carlier.
index 2c0a23dfdd2917dba69eeb8e571f95f1788174c6..2770dc6d08dd230bab719ceaf1102b1293f02d32 100644 (file)
@@ -5447,7 +5447,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
@@ -5461,7 +5461,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. */
@@ -5493,7 +5493,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;
 }
index 045b6d0a9bf6f973bac84061b73b6ac911dc8cdf..2e5f78382ed44d808abe5818fe23b1ec39327f10 100644 (file)
@@ -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) {
index 9f866a2a3d2fa09ab6d906d2ba061d4bb6db81d6..17e79603c29f44334f00c013cc8a1507b7117c5f 100644 (file)
@@ -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 */
index 85120e498d1faded1126cdc09bd0a027e62b01d9..595c129814d2974ec03b69f33b41f8685af070ae 100755 (executable)
--- a/configure
+++ b/configure
@@ -11386,7 +11386,6 @@ $as_echo "$with_dtrace" >&6; }
 
 
 DTRACE=
-DFLAGS=
 DTRACE_HEADERS=
 DTRACE_OBJS=
 
@@ -11452,7 +11451,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
index ab8e1b7d27ac28d841aa89c1c5fa23de38e3f7d7..fee605eec2aa5b5b4218c9f8b17034a6a0e1c877 100644 (file)
@@ -3500,7 +3500,6 @@ AC_SUBST(DFLAGS)
 AC_SUBST(DTRACE_HEADERS)
 AC_SUBST(DTRACE_OBJS)
 DTRACE=
-DFLAGS=
 DTRACE_HEADERS=
 DTRACE_OBJS=
 
@@ -3521,7 +3520,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