5.15.x: randomize_layout_plugin.c: 'last_stmt' was not declared in this scope?
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 2Maybe 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.
Greg KH
maintainerQuoted 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
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 2024If 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
Greg KH
maintainerQuoted 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