Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp3865966pxb; Tue, 17 Nov 2020 05:44:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJzLkLFtshhizuX2SQ0n8MZ4ujuIHxGBomLyYSgllEcDvNYtPsjuBzK9cuCKOsTBPQ6GZfDc X-Received: by 2002:a17:906:c084:: with SMTP id f4mr5301581ejz.4.1605620678609; Tue, 17 Nov 2020 05:44:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605620678; cv=none; d=google.com; s=arc-20160816; b=LL9LXaeiUSLfHvKwxrYMMxC9KHyo4/QoGnCVHjQOmWX0jgZCQf5hTXWostXB1GfD2I WuxlmX3tw9xTgKLTjD56GSiTCPR2+soZj7+Givy2AdgqmYw4DSveZjHJl60rbQCKCd8p +9x1ysmu6TD1zK9+A/SIDnovntUG+JEGp/Q9/3QxxE5wE830KzRv/f1xQbiL4M4QWhVq 6eTLJtfu0M0povWbqbATPoUMQAejn3WtlBgnz/WVo7Hk525qLZdnaiBL5Lxt940kCegj Ej3Z6KOYBS66v3+Vx7xhl9lLeljKkBmnQDLAaU72S/mEodLgsoVR3IO4yyubSAmvO7mq 6POw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=qkRL2ZsyfwJBADocqHhGYXtdWae/vfNmPJDEZAlanuY=; b=zKb5KEZSHWWltV3+v9+p3u21VvNTJw7oqiXUnYA1leSncqVvw4ruzO28gUG32bseYy GAmfx8LL+mVsxVsnwALqRN5nRtefZ3BGvmlSupyYXi59JQlrQ2efIVcTvHPyv90BJjG5 DQ//ePc5h+6B33SLWC5iARFxMr9sBi80d3Lq8THdAwmBl6lW1lICBCogjs5hsqDvflS8 MN3rMkgp/38dDOGMHBwZZ1f5TvhcN4GCKZcl/SlizD+k7yTxjZIFWRGcWMSjw7ojP7VM HnGwQoMnluXGB0FhPBbRgYtJ9vuongNlK5Kg9teWTxspuLgUYrd9wcUHVUDJWiZRFCYA ymYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=g2FJOUgO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hp30si10173134ejc.505.2020.11.17.05.44.15; Tue, 17 Nov 2020 05:44:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=g2FJOUgO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387484AbgKQNmv (ORCPT + 99 others); Tue, 17 Nov 2020 08:42:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:55148 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387447AbgKQNmh (ORCPT ); Tue, 17 Nov 2020 08:42:37 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 34DF524199; Tue, 17 Nov 2020 13:42:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1605620556; bh=vf3/VsnldaYPMIKyxlRhBZtuYWcuFWpptQSVXKRWd0c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g2FJOUgOHV++Gbp8kRHahvXMnZwWT5EqY5pLKVsEcjTbPVAWptCIYBRrmI5Pt/7pA d6HcmaArKBpoVv/rp0Ybaslhe29w7QdoTxD9IiLC4PuWPwruM1QAh3bNMwIVn4uaPG NUXX4boN+GMremkgqVuiKgmooZfTzdne/6oWL3mI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Adrian Hunter , Ian Rogers , Jiri Olsa , Namhyung Kim , Arnaldo Carvalho de Melo , Tapas Kundu Subject: [PATCH 5.9 252/255] perf scripting python: Avoid declaring function pointers with a visibility attribute Date: Tue, 17 Nov 2020 14:06:32 +0100 Message-Id: <20201117122151.197814127@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201117122138.925150709@linuxfoundation.org> References: <20201117122138.925150709@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arnaldo Carvalho de Melo commit d0e7b0c71fbb653de90a7163ef46912a96f0bdaf upstream. To avoid this: util/scripting-engines/trace-event-python.c: In function 'python_start_script': util/scripting-engines/trace-event-python.c:1595:2: error: 'visibility' attribute ignored [-Werror=attributes] 1595 | PyMODINIT_FUNC (*initfunc)(void); | ^~~~~~~~~~~~~~ That started breaking when building with PYTHON=python3 and these gcc versions (I haven't checked with the clang ones, maybe it breaks there as well): # export PERF_TARBALL=http://192.168.86.5/perf/perf-5.9.0.tar.xz # dm fedora:33 fedora:rawhide 1 107.80 fedora:33 : Ok gcc (GCC) 10.2.1 20201005 (Red Hat 10.2.1-5), clang version 11.0.0 (Fedora 11.0.0-1.fc33) 2 92.47 fedora:rawhide : Ok gcc (GCC) 10.2.1 20201016 (Red Hat 10.2.1-6), clang version 11.0.0 (Fedora 11.0.0-1.fc34) # Avoid that by ditching that 'initfunc' function pointer with its: #define Py_EXPORTED_SYMBOL _attribute_ ((visibility ("default"))) #define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* And just call PyImport_AppendInittab() at the end of the ifdef python3 block with the functions that were being attributed to that initfunc. Cc: Adrian Hunter Cc: Ian Rogers Cc: Jiri Olsa Cc: Namhyung Kim Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Tapas Kundu Signed-off-by: Greg Kroah-Hartman --- tools/perf/util/scripting-engines/trace-event-python.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c @@ -1592,7 +1592,6 @@ static void _free_command_line(wchar_t * static int python_start_script(const char *script, int argc, const char **argv) { struct tables *tables = &tables_global; - PyMODINIT_FUNC (*initfunc)(void); #if PY_MAJOR_VERSION < 3 const char **command_line; #else @@ -1607,20 +1606,18 @@ static int python_start_script(const cha FILE *fp; #if PY_MAJOR_VERSION < 3 - initfunc = initperf_trace_context; command_line = malloc((argc + 1) * sizeof(const char *)); command_line[0] = script; for (i = 1; i < argc + 1; i++) command_line[i] = argv[i - 1]; + PyImport_AppendInittab(name, initperf_trace_context); #else - initfunc = PyInit_perf_trace_context; command_line = malloc((argc + 1) * sizeof(wchar_t *)); 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(name, initfunc); Py_Initialize(); #if PY_MAJOR_VERSION < 3