From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: "Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Arnaldo Carvalho de Melo" <acme@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Alexander Shishkin" <alexander.shishkin@linux.intel.com>,
"Jiri Olsa" <jolsa@kernel.org>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Kan Liang" <kan.liang@linux.intel.com>,
"John Garry" <john.g.garry@oracle.com>,
"Will Deacon" <will@kernel.org>,
"James Clark" <james.clark@arm.com>,
"Mike Leach" <mike.leach@linaro.org>,
"Leo Yan" <leo.yan@linux.dev>, "Guo Ren" <guoren@kernel.org>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Suzuki K Poulose" <suzuki.poulose@arm.com>,
"Yicong Yang" <yangyicong@hisilicon.com>,
"Jonathan Cameron" <jonathan.cameron@huawei.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@samsung.com>,
"Alice Ryhl" <aliceryhl@google.com>,
"Nick Terrell" <terrelln@fb.com>,
"Ravi Bangoria" <ravi.bangoria@amd.com>,
"Kees Cook" <keescook@chromium.org>,
"Andrei Vagin" <avagin@google.com>,
"Athira Jajeev" <atrajeev@linux.vnet.ibm.com>,
"Oliver Upton" <oliver.upton@linux.dev>,
"Ze Gao" <zegao2021@gmail.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org,
linux-riscv@lists.infradead.org, coresight@lists.linaro.org,
rust-for-linux@vger.kernel.org, bpf@vger.kernel.org
Subject: Re: [PATCH v3 7/8] perf python: Switch module to linking libraries from building source
Date: Mon, 24 Jun 2024 15:26:19 -0700 [thread overview]
Message-ID: <Znnyi2IPC79jMd9y@google.com> (raw)
In-Reply-To: <20240613233122.3564730-8-irogers@google.com>
On Thu, Jun 13, 2024 at 04:31:21PM -0700, Ian Rogers wrote:
> setup.py was building most perf sources causing setup.py to mimic the
> Makefile logic as well as flex/bison code to be stubbed out, due to
> complexity building. By using libraries fewer functions are stubbed
> out, the build is faster and the Makefile logic is reused which should
> simplify updating. The libraries are passed through LDFLAGS to avoid
> complexity in python.
>
> Force the -fPIC flag for libbpf.a to ensure it is suitable for linking
> into the perf python module.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
> Reviewed-by: James Clark <james.clark@arm.com>
> ---
> tools/perf/Makefile.config | 5 +
> tools/perf/Makefile.perf | 6 +-
> tools/perf/util/python.c | 271 ++++++++++++++-----------------------
> tools/perf/util/setup.py | 33 +----
> 4 files changed, 110 insertions(+), 205 deletions(-)
>
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index 7f1e016a9253..639be696f597 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -910,6 +910,11 @@ else
> endif
> CFLAGS += -DHAVE_LIBPYTHON_SUPPORT
> $(call detected,CONFIG_LIBPYTHON)
> + ifeq ($(filter -fPIC,$(CFLAGS)),)
Nitpick: mixed TAB and SPACEs.
> + # Building a shared library requires position independent code.
> + CFLAGS += -fPIC
> + CXXFLAGS += -fPIC
> + endif
I'm curious if it's ok for static libraries too..
Thanks,
Namhyung
> endif
> endif
> endif
WARNING: multiple messages have this Message-ID (diff)
From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: "Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Arnaldo Carvalho de Melo" <acme@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Alexander Shishkin" <alexander.shishkin@linux.intel.com>,
"Jiri Olsa" <jolsa@kernel.org>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Kan Liang" <kan.liang@linux.intel.com>,
"John Garry" <john.g.garry@oracle.com>,
"Will Deacon" <will@kernel.org>,
"James Clark" <james.clark@arm.com>,
"Mike Leach" <mike.leach@linaro.org>,
"Leo Yan" <leo.yan@linux.dev>, "Guo Ren" <guoren@kernel.org>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Suzuki K Poulose" <suzuki.poulose@arm.com>,
"Yicong Yang" <yangyicong@hisilicon.com>,
"Jonathan Cameron" <jonathan.cameron@huawei.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@samsung.com>,
"Alice Ryhl" <aliceryhl@google.com>,
"Nick Terrell" <terrelln@fb.com>,
"Ravi Bangoria" <ravi.bangoria@amd.com>,
"Kees Cook" <keescook@chromium.org>,
"Andrei Vagin" <avagin@google.com>,
"Athira Jajeev" <atrajeev@linux.vnet.ibm.com>,
"Oliver Upton" <oliver.upton@linux.dev>,
"Ze Gao" <zegao2021@gmail.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org,
linux-riscv@lists.infradead.org, coresight@lists.linaro.org,
rust-for-linux@vger.kernel.org, bpf@vger.kernel.org
Subject: Re: [PATCH v3 7/8] perf python: Switch module to linking libraries from building source
Date: Mon, 24 Jun 2024 15:26:19 -0700 [thread overview]
Message-ID: <Znnyi2IPC79jMd9y@google.com> (raw)
In-Reply-To: <20240613233122.3564730-8-irogers@google.com>
On Thu, Jun 13, 2024 at 04:31:21PM -0700, Ian Rogers wrote:
> setup.py was building most perf sources causing setup.py to mimic the
> Makefile logic as well as flex/bison code to be stubbed out, due to
> complexity building. By using libraries fewer functions are stubbed
> out, the build is faster and the Makefile logic is reused which should
> simplify updating. The libraries are passed through LDFLAGS to avoid
> complexity in python.
>
> Force the -fPIC flag for libbpf.a to ensure it is suitable for linking
> into the perf python module.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
> Reviewed-by: James Clark <james.clark@arm.com>
> ---
> tools/perf/Makefile.config | 5 +
> tools/perf/Makefile.perf | 6 +-
> tools/perf/util/python.c | 271 ++++++++++++++-----------------------
> tools/perf/util/setup.py | 33 +----
> 4 files changed, 110 insertions(+), 205 deletions(-)
>
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index 7f1e016a9253..639be696f597 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -910,6 +910,11 @@ else
> endif
> CFLAGS += -DHAVE_LIBPYTHON_SUPPORT
> $(call detected,CONFIG_LIBPYTHON)
> + ifeq ($(filter -fPIC,$(CFLAGS)),)
Nitpick: mixed TAB and SPACEs.
> + # Building a shared library requires position independent code.
> + CFLAGS += -fPIC
> + CXXFLAGS += -fPIC
> + endif
I'm curious if it's ok for static libraries too..
Thanks,
Namhyung
> endif
> endif
> endif
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2024-06-24 22:26 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 23:31 [PATCH v3 0/8] Refactor perf python module build Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-13 23:31 ` [PATCH v3 1/8] perf build: Add '*.a' to clean targets Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-14 9:33 ` James Clark
2024-06-14 9:33 ` James Clark
2024-06-13 23:31 ` [PATCH v3 2/8] perf ui: Make ui its own library Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-13 23:31 ` [PATCH v3 3/8] perf pmu-events: Make pmu-events a library Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-13 23:31 ` [PATCH v3 4/8] perf test: Make tests its own library Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-13 23:31 ` [PATCH v3 5/8] perf bench: Make bench " Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-13 23:31 ` [PATCH v3 6/8] perf util: Make util " Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-13 23:31 ` [PATCH v3 7/8] perf python: Switch module to linking libraries from building source Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-24 22:26 ` Namhyung Kim [this message]
2024-06-24 22:26 ` Namhyung Kim
2024-06-25 12:24 ` James Clark
2024-06-25 12:24 ` James Clark
2024-06-25 17:48 ` Namhyung Kim
2024-06-25 17:48 ` Namhyung Kim
2024-06-25 18:14 ` Ian Rogers
2024-06-25 18:14 ` Ian Rogers
2024-06-13 23:31 ` [PATCH v3 8/8] perf python: Clean up build dependencies Ian Rogers
2024-06-13 23:31 ` Ian Rogers
2024-06-24 21:46 ` [PATCH v3 0/8] Refactor perf python module build Ian Rogers
2024-06-24 21:46 ` Ian Rogers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Znnyi2IPC79jMd9y@google.com \
--to=namhyung@kernel.org \
--cc=a.hindborg@samsung.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alex.gaynor@gmail.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=aliceryhl@google.com \
--cc=aou@eecs.berkeley.edu \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=avagin@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=coresight@lists.linaro.org \
--cc=gary@garyguo.net \
--cc=guoren@kernel.org \
--cc=irogers@google.com \
--cc=james.clark@arm.com \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--cc=jonathan.cameron@huawei.com \
--cc=kan.liang@linux.intel.com \
--cc=keescook@chromium.org \
--cc=leo.yan@linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=ojeda@kernel.org \
--cc=oliver.upton@linux.dev \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=peterz@infradead.org \
--cc=ravi.bangoria@amd.com \
--cc=rust-for-linux@vger.kernel.org \
--cc=suzuki.poulose@arm.com \
--cc=terrelln@fb.com \
--cc=wedsonaf@gmail.com \
--cc=will@kernel.org \
--cc=yangyicong@hisilicon.com \
--cc=zegao2021@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.