2021-09-13 03:08:27

by Miles Chen

[permalink] [raw]
Subject: [PATCH] scripts/sorttable: riscv: fix undelcred identifier 'EM_RISCV' error

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'

[1] https://lore.kernel.org/lkml/[email protected]/

Cc: Jisheng Zhang <[email protected]>
Reported-by: Stefan Wahren <[email protected]>
Fixes: 54fed35fd393 ("riscv: Enable BUILDTIME_TABLE_SORT")
Signed-off-by: Miles Chen <[email protected]>
---
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 *);
--
2.18.0


2021-09-15 14:07:13

by Jisheng Zhang

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

On Mon, 13 Sep 2021 11:06:25 +0800
Miles Chen <[email protected]> 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.

>
> [1] https://lore.kernel.org/lkml/[email protected]/
>
> Cc: Jisheng Zhang <[email protected]>
> Reported-by: Stefan Wahren <[email protected]>
> Fixes: 54fed35fd393 ("riscv: Enable BUILDTIME_TABLE_SORT")
> Signed-off-by: Miles Chen <[email protected]>

Reviewed-by: Jisheng Zhang <[email protected]>

> ---
> 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 *);


2021-09-15 16:06:39

by Michal Kubecek

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

On Wed, Sep 15, 2021 at 09:54:32PM +0800, Jisheng Zhang wrote:
> On Mon, 13 Sep 2021 11:06:25 +0800
> Miles Chen <[email protected]> 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.

Michal

> > [1] https://lore.kernel.org/lkml/[email protected]/
> >
> > Cc: Jisheng Zhang <[email protected]>
> > Reported-by: Stefan Wahren <[email protected]>
> > Fixes: 54fed35fd393 ("riscv: Enable BUILDTIME_TABLE_SORT")
> > Signed-off-by: Miles Chen <[email protected]>
>
> Reviewed-by: Jisheng Zhang <[email protected]>
>
> > ---
> > 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 *);
>
>
>
> _______________________________________________
> Linux-mediatek mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

2021-09-17 12:20:51

by Miles Chen

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

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 <[email protected]> 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.
>
> Michal
>
> > > [1]
> > > https://urldefense.com/v3/__https://lore.kernel.org/lkml/[email protected]/__;!!CTRNKA9wMg0ARbw!2wBeUUDf3Z2m7uJLF51GeZnBFWXRlEQrzGJ72JWIT0MPUcS_RgW98QWTXkEjy9-lhg$
> > >
> > >
> > > Cc: Jisheng Zhang <[email protected]>
> > > Reported-by: Stefan Wahren <[email protected]>
> > > Fixes: 54fed35fd393 ("riscv: Enable BUILDTIME_TABLE_SORT")
> > > Signed-off-by: Miles Chen <[email protected]>
> >
> > Reviewed-by: Jisheng Zhang <[email protected]>


Hi Andrew,

I cannot find the maintainer for scripts/sorttable.c, would you pick up
this change, please?

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 *);
> >
> >
> >
> > _______________________________________________
> > Linux-mediatek mailing list
> > [email protected]
> >
https://urldefense.com/v3/__http://lists.infradead.org/mailman/listinfo/linux-mediatek__;!!CTRNKA9wMg0ARbw!2wBeUUDf3Z2m7uJLF51GeZnBFWXRlEQrzGJ72JWIT0MPUcS_RgW98QWTXkH74aYBWQ$
> >

2021-09-21 21:04:27

by Markus Mayer

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

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 <[email protected]> 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/[email protected]/__;!!CTRNKA9wMg0ARbw!2wBeUUDf3Z2m7uJLF51GeZnBFWXRlEQrzGJ72JWIT0MPUcS_RgW98QWTXkEjy9-lhg$
> > > >
> > > >
> > > > Cc: Jisheng Zhang <[email protected]>
> > > > Reported-by: Stefan Wahren <[email protected]>
> > > > Fixes: 54fed35fd393 ("riscv: Enable BUILDTIME_TABLE_SORT")
> > > > Signed-off-by: Miles Chen <[email protected]>
> > >
> > > Reviewed-by: Jisheng Zhang <[email protected]>
>
>
> 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 *);