mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-12 12:59:51 +00:00
perf python: Remove python 2 scripting support
Python2 was deprecated 4 years ago, remove support and workarounds. Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Cc: Colin Ian King <colin.i.king@gmail.com> Cc: Dapeng Mi <dapeng1.mi@linux.intel.com> Cc: Howard Chu <howardchu95@gmail.com> Cc: Ilya Leoshkevich <iii@linux.ibm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@linaro.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Richter <tmricht@linux.ibm.com> Cc: Veronika Molnarova <vmolnaro@redhat.com> Cc: Weilin Wang <weilin.wang@intel.com> Link: https://lore.kernel.org/r/20241119011644.971342-2-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
4c7f9ee2eb
commit
e7e9943c87
@@ -58,22 +58,6 @@
|
||||
#include "mem-events.h"
|
||||
#include "util/perf_regs.h"
|
||||
|
||||
#if PY_MAJOR_VERSION < 3
|
||||
#define _PyUnicode_FromString(arg) \
|
||||
PyString_FromString(arg)
|
||||
#define _PyUnicode_FromStringAndSize(arg1, arg2) \
|
||||
PyString_FromStringAndSize((arg1), (arg2))
|
||||
#define _PyBytes_FromStringAndSize(arg1, arg2) \
|
||||
PyString_FromStringAndSize((arg1), (arg2))
|
||||
#define _PyLong_FromLong(arg) \
|
||||
PyInt_FromLong(arg)
|
||||
#define _PyLong_AsLong(arg) \
|
||||
PyInt_AsLong(arg)
|
||||
#define _PyCapsule_New(arg1, arg2, arg3) \
|
||||
PyCObject_FromVoidPtr((arg1), (arg2))
|
||||
|
||||
PyMODINIT_FUNC initperf_trace_context(void);
|
||||
#else
|
||||
#define _PyUnicode_FromString(arg) \
|
||||
PyUnicode_FromString(arg)
|
||||
#define _PyUnicode_FromStringAndSize(arg1, arg2) \
|
||||
@@ -88,7 +72,6 @@ PyMODINIT_FUNC initperf_trace_context(void);
|
||||
PyCapsule_New((arg1), (arg2), (arg3))
|
||||
|
||||
PyMODINIT_FUNC PyInit_perf_trace_context(void);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBTRACEEVENT
|
||||
#define TRACE_EVENT_TYPE_MAX \
|
||||
@@ -181,17 +164,7 @@ static int get_argument_count(PyObject *handler)
|
||||
{
|
||||
int arg_count = 0;
|
||||
|
||||
/*
|
||||
* The attribute for the code object is func_code in Python 2,
|
||||
* whereas it is __code__ in Python 3.0+.
|
||||
*/
|
||||
PyObject *code_obj = PyObject_GetAttrString(handler,
|
||||
"func_code");
|
||||
if (PyErr_Occurred()) {
|
||||
PyErr_Clear();
|
||||
code_obj = PyObject_GetAttrString(handler,
|
||||
"__code__");
|
||||
}
|
||||
PyObject *code_obj = code_obj = PyObject_GetAttrString(handler, "__code__");
|
||||
PyErr_Clear();
|
||||
if (code_obj) {
|
||||
PyObject *arg_count_obj = PyObject_GetAttrString(code_obj,
|
||||
@@ -1903,12 +1876,6 @@ static void set_table_handlers(struct tables *tables)
|
||||
tables->synth_handler = get_handler("synth_data");
|
||||
}
|
||||
|
||||
#if PY_MAJOR_VERSION < 3
|
||||
static void _free_command_line(const char **command_line, int num)
|
||||
{
|
||||
free(command_line);
|
||||
}
|
||||
#else
|
||||
static void _free_command_line(wchar_t **command_line, int num)
|
||||
{
|
||||
int i;
|
||||
@@ -1916,7 +1883,6 @@ static void _free_command_line(wchar_t **command_line, int num)
|
||||
PyMem_RawFree(command_line[i]);
|
||||
free(command_line);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
@@ -1926,30 +1892,12 @@ static int python_start_script(const char *script, int argc, const char **argv,
|
||||
struct perf_session *session)
|
||||
{
|
||||
struct tables *tables = &tables_global;
|
||||
#if PY_MAJOR_VERSION < 3
|
||||
const char **command_line;
|
||||
#else
|
||||
wchar_t **command_line;
|
||||
#endif
|
||||
/*
|
||||
* Use a non-const name variable to cope with python 2.6's
|
||||
* PyImport_AppendInittab prototype
|
||||
*/
|
||||
char buf[PATH_MAX], name[19] = "perf_trace_context";
|
||||
char buf[PATH_MAX];
|
||||
int i, err = 0;
|
||||
FILE *fp;
|
||||
|
||||
scripting_context->session = session;
|
||||
#if PY_MAJOR_VERSION < 3
|
||||
command_line = malloc((argc + 1) * sizeof(const char *));
|
||||
if (!command_line)
|
||||
return -1;
|
||||
|
||||
command_line[0] = script;
|
||||
for (i = 1; i < argc + 1; i++)
|
||||
command_line[i] = argv[i - 1];
|
||||
PyImport_AppendInittab(name, initperf_trace_context);
|
||||
#else
|
||||
command_line = malloc((argc + 1) * sizeof(wchar_t *));
|
||||
if (!command_line)
|
||||
return -1;
|
||||
@@ -1957,15 +1905,10 @@ static int python_start_script(const char *script, int argc, const char **argv,
|
||||
command_line[0] = Py_DecodeLocale(script, NULL);
|
||||
for (i = 1; i < argc + 1; i++)
|
||||
command_line[i] = Py_DecodeLocale(argv[i - 1], NULL);
|
||||
PyImport_AppendInittab(name, PyInit_perf_trace_context);
|
||||
#endif
|
||||
PyImport_AppendInittab("perf_trace_context", PyInit_perf_trace_context);
|
||||
Py_Initialize();
|
||||
|
||||
#if PY_MAJOR_VERSION < 3
|
||||
PySys_SetArgv(argc + 1, (char **)command_line);
|
||||
#else
|
||||
PySys_SetArgv(argc + 1, command_line);
|
||||
#endif
|
||||
|
||||
fp = fopen(script, "r");
|
||||
if (!fp) {
|
||||
|
||||
Reference in New Issue
Block a user