Re: [PATCH v5 06/21] perf script: Move find_scripts to browser/scripts.c
From: Namhyung Kim
Date: Tue Nov 05 2024 - 01:14:49 EST
On Mon, Nov 04, 2024 at 03:28:15PM -0800, Ian Rogers wrote:
> On Mon, Nov 4, 2024 at 3:22 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> >
> > On Mon, Nov 04, 2024 at 02:20:30PM -0800, Ian Rogers wrote:
> > > On Mon, Nov 4, 2024 at 2:09 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > >
> > > > On Mon, Nov 04, 2024 at 01:06:35PM -0800, Ian Rogers wrote:
> > > > > On Mon, Nov 4, 2024 at 1:00 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > > > >
> > > > > > On Mon, Nov 04, 2024 at 12:48:01PM -0800, Ian Rogers wrote:
> > > > > > > Namhyung was asking that the c&p of code be 1 patch then "add new
> > > > > > > changes like using openat() on top". That is:
> > > > > > >
> > > > > > > patch 1: add is_directory_at - introduce the 2 line helper function
> > > > > > > patch 2: move the code
> > > > > > > patch 3: update the code to use is_directory_at
> > > > > > >
> > > > > > > patch 2 is known broken as patch 3 is fixing it.
> > > > > > >
> > > > > > > Hopefully this is clear.
> > > > > >
> > > > > > Actually I don't care about the patch ordering. My request is not
> > > > > > to break build and just to separate different changes out. :)
> > > > >
> > > > > So, patch 2 can't be separated from patch 3 - are we agreed? So we
> > > > > squash patch 2 with patch 3. Patch 1 is trivial and fails to meet the
> > > > > bar of a meaningful change, so we squash that. We end up with this
> > > > > patch. If there's a later revert and a dependence of the 2 liner, just
> > > > > don't revert that part of the change. We've never had such a revert so
> > > > > it is hard to see why we need to generate so much churn because of it.
> > > >
> > > > As I said the patch 1 should be the c&p and no need to introduce
> > > > is_directory_at() before that. Why not doing
> > > >
> > > > patch1: move the code
> > > > patch2: add and use is_directory_at() + openat()
> > > >
> > > > ?
> > >
> > > Because placing all the code in 1 file expands GCC's analysis and the
> > > build fails. In the commit message I describe this:
> > > "The arrays are warned about potential buffer overflows by GCC now
> > > that all the code exists in a single C file."
> > > A standard unsound workaround to this is to change "sizeof(...)" to
> > > "sizeof(...) - 1", as it is ugly I added is_directory_at to not suffer
> > > the problem as the arrays are gone.
> >
> > Ok, it's strange that this type of analysis depends on the placement.
> > Anyway it seems there's a problem in the code already. Then we can fix
> > it first and then move. How about this?
> >
> > patch1: add and use is_directory_at() + openat()
> > patch2: move the code
>
> I'm happy if the maintainers do that.
It's probably not gonna happen anytime soon and I'd be happy if you
could do that.
Thanks,
Namhyung