Skip to contentSkip to conversation

5.15.x: randomize_layout_plugin.c: 'last_stmt' was not declared in this scope?

DISCUSSION Thomas Meyer 2 participants 4 messages Jul 14, 2024 – Jul 22, 2024 Stable branch

lore
Share & tools
lore
#0 lore raw

Good day,

I wanted to upgrade my kernel to the latest 5.15.162 but it seems to fail with this error message after upgrading to fedora 40, any ideas what could be the problem?

$ make
  HOSTCXX scripts/gcc-plugins/randomize_layout_plugin.so
scripts/gcc-plugins/randomize_layout_plugin.c: In function 'bool dominated_by_is_err(const_tree, basic_block)':
scripts/gcc-plugins/randomize_layout_plugin.c:693:20: error: 'last_stmt' was not declared in this scope; did you mean 'call_stmt'?
  693 |         dom_stmt = last_stmt(dom);
      |                    ^~~~~~~~~
      |                    call_stmt
make[2]: *** [scripts/gcc-plugins/Makefile:48: scripts/gcc-plugins/randomize_layout_plugin.so] Error 1
make[1]: *** [scripts/Makefile.build:552: scripts/gcc-plugins] Error 2
make: *** [Makefile:1246: scripts] Error 2

Maybe a problem with gcc 14?

My current kernel was compiled with gcc 13:

[    0.000000] [      T0] Linux version 5.15.160 ([email protected]) (gcc (GCC) 13.3.1 20240522 (Red Hat 13.3.1-1), GNU ld version 2.40-14.fc39) #15 PREEMPT Sat Jun 1 16:54:27 CEST 2024
$ gcc --version
gcc (GCC) 14.1.1 20240522 (Red Hat 14.1.1-4)

any help appreciated.

with kind regards
thomas

PS: please cc my as I'm not subscribed to the list.

maintainer
#1 lore raw
Quoted 17 lines · Thomas Meyer

Good day,

I wanted to upgrade my kernel to the latest 5.15.162 but it seems to fail with this error message after upgrading to fedora 40, any ideas what could be the problem?

$ make
  HOSTCXX scripts/gcc-plugins/randomize_layout_plugin.so
scripts/gcc-plugins/randomize_layout_plugin.c: In function 'bool dominated_by_is_err(const_tree, basic_block)':
scripts/gcc-plugins/randomize_layout_plugin.c:693:20: error: 'last_stmt' was not declared in this scope; did you mean 'call_stmt'?
  693 |         dom_stmt = last_stmt(dom);
      |                    ^~~~~~~~~
      |                    call_stmt
make[2]: *** [scripts/gcc-plugins/Makefile:48: scripts/gcc-plugins/randomize_layout_plugin.so] Error 1
make[1]: *** [scripts/Makefile.build:552: scripts/gcc-plugins] Error 2
make: *** [Makefile:1246: scripts] Error 2
Quoted 1 line

Maybe a problem with gcc 14?

Maybe, has any previous 5.15.y kernel worked?

Quoted 2 lines

My current kernel was compiled with gcc 13:

[    0.000000] [      T0] Linux version 5.15.160 ([email protected]) (gcc (GCC) 13.3.1 20240522 (Red Hat 13.3.1-1), GNU ld version 2.40-14.fc39) #15 PREEMPT Sat Jun 1 16:54:27 CEST 2024

If you build 5.15.160 with gcc 14 does it also fail? Doing a 'git bisect if it does not would be great to track down the offending commit.

thanks,

greg k-h

#2 lore raw

Am Tue, Jul 16, 2024 at 04:08:44PM +0200 schrieb Greg KH:

Quoted 18 lines · Thomas Meyer
Quoted 17 lines

Good day,

I wanted to upgrade my kernel to the latest 5.15.162 but it seems to fail with this error message after upgrading to fedora 40, any ideas what could be the problem?

$ make
  HOSTCXX scripts/gcc-plugins/randomize_layout_plugin.so
scripts/gcc-plugins/randomize_layout_plugin.c: In function 'bool dominated_by_is_err(const_tree, basic_block)':
scripts/gcc-plugins/randomize_layout_plugin.c:693:20: error: 'last_stmt' was not declared in this scope; did you mean 'call_stmt'?
  693 |         dom_stmt = last_stmt(dom);
      |                    ^~~~~~~~~
      |                    call_stmt
make[2]: *** [scripts/gcc-plugins/Makefile:48: scripts/gcc-plugins/randomize_layout_plugin.so] Error 1
make[1]: *** [scripts/Makefile.build:552: scripts/gcc-plugins] Error 2
make: *** [Makefile:1246: scripts] Error 2
Quoted 1 line
Quoted 1 line

Maybe a problem with gcc 14?

This seems to fix the compiler error:
https://lore.kernel.org/all/[email protected]/

Quoted 12 lines

Maybe, has any previous 5.15.y kernel worked?

Quoted 2 lines

My current kernel was compiled with gcc 13:

[    0.000000] [      T0] Linux version 5.15.160 ([email protected]) (gcc (GCC) 13.3.1 20240522 (Red Hat 13.3.1-1), GNU ld version 2.40-14.fc39) #15 PREEMPT Sat Jun 1 16:54:27 CEST 2024

If you build 5.15.160 with gcc 14 does it also fail? Doing a 'git bisect if it does not would be great to track down the offending commit.

thanks,

greg k-h

maintainer
#3 lore raw
Quoted 19 lines · Thomas Meyer

Am Tue, Jul 16, 2024 at 04:08:44PM +0200 schrieb Greg KH:

Quoted 18 lines · Thomas Meyer
Quoted 17 lines

Good day,

I wanted to upgrade my kernel to the latest 5.15.162 but it seems to fail with this error message after upgrading to fedora 40, any ideas what could be the problem?

$ make
  HOSTCXX scripts/gcc-plugins/randomize_layout_plugin.so
scripts/gcc-plugins/randomize_layout_plugin.c: In function 'bool dominated_by_is_err(const_tree, basic_block)':
scripts/gcc-plugins/randomize_layout_plugin.c:693:20: error: 'last_stmt' was not declared in this scope; did you mean 'call_stmt'?
  693 |         dom_stmt = last_stmt(dom);
      |                    ^~~~~~~~~
      |                    call_stmt
make[2]: *** [scripts/gcc-plugins/Makefile:48: scripts/gcc-plugins/randomize_layout_plugin.so] Error 1
make[1]: *** [scripts/Makefile.build:552: scripts/gcc-plugins] Error 2
make: *** [Makefile:1246: scripts] Error 2
Quoted 4 lines
Quoted 1 line
Quoted 1 line

Maybe a problem with gcc 14?

This seems to fix the compiler error:
https://lore.kernel.org/all/[email protected]/

Ah, this is a gcc14 issue. I'll backport this, but odds are you will have other problems using this compiler with such an old kernel tree.

thanks,

greg k-h