Subject: bug#74797: closed (Re: bug#74797 - Re: linux-libre 6.11.11 fails to build on aarch64 (drivers/clk/meson/gxbb.c))

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 14 Dec 2024 07:57:02 +0000

Your bug report

#74797: linux-libre 6.11.11 fails to build on aarch64 (drivers/clk/meson/gxbb.c)

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
74797: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74797
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#74797 - Re: linux-libre 6.11.11 fails to build on aarch64 (drivers/clk/meson/gxbb.c)
From: Vagrant Cascadian <[email-masked]>
To: Vincent Legoll <[email-masked]>, [email-masked]
Cc: Wilko Meyer <[email-masked]>, Maxim Cournoyer <[email-masked]>, Leo Famulari <[email-masked]>
Date: Fri, 13 Dec 2024 23:56:35 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

On 2024-12-12, Vincent Legoll wrote:
> that file looks corrupted
>
> For example the first error:
>
> 2057 |         .hw.init = &(struct clk_init_da|a) {
>
> that should be "clk_init_data", see:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/clk/meson/gxbb.c#n2051
>
> 2168 |                 .parent_hws = (const str}ct clk_hw *[]) {
>
> here it's "struct"

You are right! Somehow the source tarballs had gotten corrupted.

When I tried to untar one of the tarballs manually, it was so corrupted
that it failed to unpack it, which makes me wonder how it actually got
as far as trying to build the kernel...

I 'guix gc'ed them and was able to successfully build after a few tries
and freeing up more and more disk space.

The worried part of me wonders if there is bad hardware, ram, disk or
cpu...

But seems to be working for now!

live well,
  vagrant

Subject: linux-libre 6.11.11 fails to build on aarch64 (drivers/clk/meson/gxbb.c)
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Cc: Wilko Meyer <[email-masked]>, Leo Famulari <[email-masked]>
Date: Wed, 11 Dec 2024 10:36:27 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

linux-libre 6.11.11 fails to build on aarch64, while 6.11.10 built
fine.

The issue is specifically with the gxbb platform, so would not likely be
built on other architectures:

drivers/clk/meson/gxbb.c:2057:40: error: expected ')' before '|' token
 2057 |         .hw.init = &(struct clk_init_da|a) {
      |                     ~                  ^
      |                                        )
drivers/clk/meson/gxbb.c:2058:18: error: 'struct clk_init_da' has no member named 'name'
 2058 |                 .name = "vclk_div12_en",
      |                  ^~~~
drivers/clk/meson/gxbb.c:2058:25: warning: excess elements in struct initializer
 2058 |                 .name = "vclk_div12_en",
      |                         ^~~~~~~~~~~~~~~
drivers/clk/meson/gxbb.c:2058:25: note: (near initialization for '(anonymous)')
drivers/clk/meson/gxbb.c:2059:18: error: 'struct clk_init_da' has no member named 'ops'
 2059 |                 .ops = &clk_regmap_gate_ops,
      |                  ^~~
drivers/clk/meson/gxbb.c:2059:24: warning: excess elements in struct initializer
 2059 |                 .ops = &clk_regmap_gate_ops,
      |                        ^
drivers/clk/meson/gxbb.c:2059:24: note: (near initialization for '(anonymous)')
drivers/clk/meson/gxbb.c:2060:18: error: 'struct clk_init_da' has no member named 'parent_hws'
 2060 |                 .parent_hws = (const struct clk_hw *[]) { &gxbb_vclk.hw },
      |                  ^~~~~~~~~~
drivers/clk/meson/gxbb.c:2060:31: warning: excess elements in struct initializer
 2060 |                 .parent_hws = (const struct clk_hw *[]) { &gxbb_vclk.hw },
      |                               ^
drivers/clk/meson/gxbb.c:2060:31: note: (near initialization for '(anonymous)')
drivers/clk/meson/gxbb.c:2061:18: error: 'struct clk_init_da' has no member named 'num_parents'
 2061 |                 .num_parents = 1,
      |                  ^~~~~~~~~~~
drivers/clk/meson/gxbb.c:2061:32: warning: excess elements in struct initializer
 2061 |                 .num_parents = 1,
      |                                ^
drivers/clk/meson/gxbb.c:2061:32: note: (near initialization for '(anonymous)')
drivers/clk/meson/gxbb.c:2062:18: error: 'struct clk_init_da' has no member named 'flags'
 2062 |                 .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
      |                  ^~~~~
In file included from ./include/linux/bits.h:6,
                 from ./include/linux/bitops.h:6,
                 from ./include/linux/of.h:15,
                 from ./include/linux/clk-provider.h:9,
                 from drivers/clk/meson/gxbb.c:7:
./include/vdso/bits.h:7:33: warning: excess elements in struct initializer
    7 | #define BIT(nr)                 (UL(1) << (nr))
      |                                 ^
./include/linux/clk-provider.h:21:33: note: in expansion of macro 'BIT'
   21 | #define CLK_SET_RATE_PARENT     BIT(2) /* propagate rate change up one level */
      |                                 ^~~
drivers/clk/meson/gxbb.c:2062:26: note: in expansion of macro 'CLK_SET_RATE_PARENT'
 2062 |                 .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
      |                          ^~~~~~~~~~~~~~~~~~~
./include/vdso/bits.h:7:33: note: (near initialization for '(anonymous)')
    7 | #define BIT(nr)                 (UL(1) << (nr))
      |                                 ^
./include/linux/clk-provider.h:21:33: note: in expansion of macro 'BIT'
   21 | #define CLK_SET_RATE_PARENT     BIT(2) /* propagate rate change up one level */
      |                                 ^~~
drivers/clk/meson/gxbb.c:2062:26: note: in expansion of macro 'CLK_SET_RATE_PARENT'
 2062 |                 .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
      |                          ^~~~~~~~~~~~~~~~~~~
drivers/clk/meson/gxbb.c:2057:44: error: invalid use of undefined type 'struct clk_init_da'
 2057 |         .hw.init = &(struct clk_init_da|a) {
      |                                            ^
drivers/clk/meson/gxbb.c:2168:38: error: unknown type name 'str'
 2168 |                 .parent_hws = (const str}ct clk_hw *[]) {
      |                                      ^~~
drivers/clk/meson/gxbb.c:2168:41: error: expected ')' before '}' token
 2168 |                 .parent_hws = (const str}ct clk_hw *[]) {
      |                               ~         ^
      |                                         )
drivers/clk/meson/gxbb.c:2168:41: error: expected expression before '}' token
drivers/clk/meson/gxbb.c:2168:55: error: expected ',' or ';' before ')' token
 2168 |                 .parent_hws = (const str}ct clk_hw *[]) {
      |                                                       ^
drivers/clk/meson/gxbb.c:2170:18: error: expected identifier or '(' before ',' token
 2170 |                 },
      |                  ^
drivers/clk/meson/gxbb.c:2172:10: error: expected identifier or '(' before ',' token
 2172 |         },
      |          ^
drivers/clk/meson/gxbb.c:2528:31: error: stray '\305' in program
 2528 |                 .flags = CLK_SÅT_RATE_PARENT,
      |                               ^
drivers/clk/meson/gxbb.c:2528:26: error: 'CLK_S' undeclared here (not in a function)
 2528 |                 .flags = CLK_SÅT_RATE_PARENT,
      |                          ^~~~~
drivers/clk/meson/gxbb.c:2528:32: error: expected '}' before 'T_RATE_PARENT'
 2528 |                 .flags = CLK_SÅT_RATE_PARENT,
      |                                ^~~~~~~~~~~~~
drivers/clk/meson/gxbb.c:2523:43: note: to match this '{'
 2523 |         .hw.init = &(struct clk_init_data){
      |                                           ^
In file included from drivers/clk/meson/gxbb.c:14:
drivers/clk/meson/gxbb.c:2711:38: error: stray '\317' in program
 2711 | static MESON_GATE(gxbb_edp, HHI_GCLK_ÏTHER, 31);
      |                                      ^
drivers/clk/meson/clk-regmap.h:120:28: note: in definition of macro '__MESON_PCLK'
  120 |                 .offset = (_reg),                                       \
      |                            ^~~~
drivers/clk/meson/gxbb.c:2637:9: note: in expansion of macro 'MESON_PCLK'
 2637 |         MESON_PCLK(_name, _reg, _bit, &gxbb_clk81.hw)
      |         ^~~~~~~~~~
drivers/clk/meson/gxbb.c:2711:8: note: in expansion of macro 'MESON_GATE'
 2711 | static MESON_GATE(gxbb_edp, HHI_GCLK_ÏTHER, 31);
      |        ^~~~~~~~~~
drivers/clk/meson/gxbb.c:2711:29: error: 'HHI_GCLK_' undeclared here (not in a function); did you mean 'HHI_GCLK_AO'?
 2711 | static MESON_GATE(gxbb_edp, HHI_GCLK_ÏTHER, 31);
      |                             ^~~~~~~~~
drivers/clk/meson/clk-regmap.h:120:28: note: in definition of macro '__MESON_PCLK'
  120 |                 .offset = (_reg),                                       \
      |                            ^~~~
drivers/clk/meson/gxbb.c:2637:9: note: in expansion of macro 'MESON_PCLK'
 2637 |         MESON_PCLK(_name, _reg, _bit, &gxbb_clk81.hw)
      |         ^~~~~~~~~~
drivers/clk/meson/gxbb.c:2711:8: note: in expansion of macro 'MESON_GATE'
 2711 | static MESON_GATE(gxbb_edp, HHI_GCLK_ÏTHER, 31);
      |        ^~~~~~~~~~
drivers/clk/meson/gxbb.c:2711:39: error: expected ')' before 'THER'
 2711 | static MESON_GATE(gxbb_edp, HHI_GCLK_ÏTHER, 31);
      |                                       ^~~~
drivers/clk/meson/clk-regmap.h:120:28: note: in definition of macro '__MESON_PCLK'
  120 |                 .offset = (_reg),                                       \
      |                            ^~~~
drivers/clk/meson/gxbb.c:2637:9: note: in expansion of macro 'MESON_PCLK'
 2637 |         MESON_PCLK(_name, _reg, _bit, &gxbb_clk81.hw)
      |         ^~~~~~~~~~
drivers/clk/meson/gxbb.c:2711:8: note: in expansion of macro 'MESON_GATE'
 2711 | static MESON_GATE(gxbb_edp, HHI_GCLK_ÏTHER, 31);
      |        ^~~~~~~~~~
drivers/clk/meson/clk-regmap.h:120:27: note: to match this '('
  120 |                 .offset = (_reg),                                       \
      |                           ^
drivers/clk/meson/clk-regmap.h:133:9: note: in expansion of macro '__MESON_PCLK'
  133 |         __MESON_PCLK(_name, _reg, _bit, &clk_regmap_gate_ops, _pname)
      |         ^~~~~~~~~~~~
drivers/clk/meson/gxbb.c:2637:9: note: in expansion of macro 'MESON_PCLK'
 2637 |         MESON_PCLK(_name, _reg, _bit, &gxbb_clk81.hw)
      |         ^~~~~~~~~~
drivers/clk/meson/gxbb.c:2711:8: note: in expansion of macro 'MESON_GATE'
 2711 | static MESON_GATE(gxbb_edp, HHI_GCLK_ÏTHER, 31);
      |        ^~~~~~~~~~
make[5]: *** [scripts/Makefile.build:244: drivers/clk/meson/gxbb.o] Error 1
make[4]: *** [scripts/Makefile.build:485: drivers/clk/meson] Error 2
make[3]: *** [scripts/Makefile.build:485: drivers/clk] Error 2
make[2]: *** [scripts/Makefile.build:485: drivers] Error 2
make[2]: *** Waiting for unfinished jobs....

Possibly due to changes in upstream linux, or maybe the linux-libre
patching...

I do have the full log if that would be useful, but I think the above is
the meaningful bits from it.

live well,
  vagrant