Re: [PATCH] scripts/sorttable: riscv: fix undelcred identifier 'EM_RISCV' error

Markus Mayer
2021-09-21T20:12:56Z

On Fri, Sep 17, 2021 at 12:27:24PM +0800, Miles Chen wrote:
> cc Andrew,
>
> On Wed, 2021-09-15 at 18:05 +0200, Michal Kubecek wrote:
> > On Wed, Sep 15, 2021 at 09:54:32PM +0800, Jisheng Zhang wrote:
> > > On Mon, 13 Sep 2021 11:06:25 +0800
> > > Miles Chen <miles.chen@mediatek.com> wrote:
> > >
> > > > Fix the following build break by adding a conditional
> > > > definition of EM_RISCV in order to allow cross-compilation on
> > > > machines which do not have EM_RISCV definition in their host.
> > > >
> > > > build break log from [1]:
> > > > scripts/sorttable.c:352:7: error: use of undeclared identifier
> > > > 'EM_RISCV'
> > >
> > > Looks strange I can't reproduce it. FWICT, this may be seen with
> > > some old toolchains.
> >
> > I checked the history and EM_RISCV was added to <elf.h> in glibc
> > 2.24 so builds on systems with glibc headers < 2.24 should show
> > this error.

This is happening for us when we try to build ARM(64) cross-builds on
Ubuntu 16.04. Yes, I know, that's a fairly old distro. At the same
time it isn't ancient (extended support is still available), and it
*should* be possible to build the 5.15 kernel on it.

And yes, some of our build machines have been updated to Ubuntu 20.04,
but not all of them. We'll get there eventually. For now this error is
posing a bit of a problem.

> > Michal
> >
> > > > [1]
> > > > https://urldefense.com/v3/__https://lore.kernel.org/lkml/e8965b25-f15b-c7b4-748c-d207dda9c8e8@i2se.com/__;!!CTRNKA9wMg0ARbw!2wBeUUDf3Z2m7uJLF51GeZnBFWXRlEQrzGJ72JWIT0MPUcS_RgW98QWTXkEjy9-lhg$
> > > >
> > > >
> > > > Cc: Jisheng Zhang <jszhang@kernel.org>
> > > > Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
> > > > Fixes: 54fed35fd393 ("riscv: Enable BUILDTIME_TABLE_SORT")
> > > > Signed-off-by: Miles Chen <miles.chen@mediatek.com>
> > >
> > > Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
>
>
> Hi Andrew,
>
> I cannot find the maintainer for scripts/sorttable.c, would you pick
> up this change, please?

Yes, please. I've been looking at failed nightly builds since September
12. It's only a forward looking build (so nothing mission critical),
but it would still be nice to have it build again.

Regards,
-Markus

> thanks
> Miles
>
> > >
> > > > ---
> > > > scripts/sorttable.c | 4 ++++
> > > > 1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/scripts/sorttable.c b/scripts/sorttable.c
> > > > index f355869c65cd..6ee4fa882919 100644
> > > > --- a/scripts/sorttable.c
> > > > +++ b/scripts/sorttable.c
> > > > @@ -54,6 +54,10 @@
> > > > #define EM_ARCV2 195
> > > > #endif
> > > >
> > > > +#ifndef EM_RISCV
> > > > +#define EM_RISCV 243
> > > > +#endif
> > > > +
> > > > static uint32_t (*r)(const uint32_t *);
> > > > static uint16_t (*r2)(const uint16_t *);
> > > > static uint64_t (*r8)(const uint64_t *);