This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug runtime/25267] New: kernel 5.3: error: this statement may fall through [-Werror=implicit-fallthrough=]
- From: "craig.ringer at 2ndquadrant dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Tue, 10 Dec 2019 06:23:12 +0000
- Subject: [Bug runtime/25267] New: kernel 5.3: error: this statement may fall through [-Werror=implicit-fallthrough=]
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=25267
Bug ID: 25267
Summary: kernel 5.3: error: this statement may fall through
[-Werror=implicit-fallthrough=]
Product: systemtap
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: runtime
Assignee: systemtap at sourceware dot org
Reporter: craig.ringer at 2ndquadrant dot com
Target Milestone: ---
When building on kernel 5.3.14 with stap 4.2/0.177 (git describe =
release-4.2-6-g0c5c0f434) stap modules fail to build due to a runtime configure
bug detailed in #25265 . When this is worked around locally the build then
fails due to -Werror complaints from gcc 9.2.1 :
~~~
In file included from /usr/local/share/systemtap/runtime/unwind.c:16,
from /usr/local/share/systemtap/runtime/linux/runtime.h:255,
from /usr/local/share/systemtap/runtime/runtime.h:26,
from /tmp/stapsiNon3/stap_767845_src.c:27:
/usr/local/share/systemtap/runtime/unwind/unwind.h: In function
‘read_ptr_sect’:
/usr/local/share/systemtap/runtime/unwind/unwind.h:146:20: error: this
statement may fall through [-Werror=implicit-fallthrough=]
146 | if (!compat_task || (compat_task && (tableSize == 4 || tableSize ==
0)))
|
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/share/systemtap/runtime/unwind/unwind.h:157:2: note: here
157 | case DW_EH_PE_data8:
| ^~~~
In file included from ./include/asm-generic/bug.h:5,
from ./arch/x86/include/asm/bug.h:83,
from ./include/linux/bug.h:5,
from ./include/linux/mmdebug.h:5,
from ./include/linux/gfp.h:5,
from
/usr/local/share/systemtap/runtime/linux/runtime_defines.h:20,
from /usr/local/share/systemtap/runtime/runtime_defines.h:8,
from /tmp/stapsiNon3/stap_767845_src.c:11:
./include/linux/compiler.h:328:5: error: this statement may fall through
[-Werror=implicit-fallthrough=]
328 | do { \
| ^
./include/linux/compiler.h:338:2: note: in expansion of macro
‘__compiletime_assert’
338 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
./include/linux/compiler.h:350:2: note: in expansion of macro
‘_compiletime_assert’
350 | _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
| ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:50:2: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
/usr/local/share/systemtap/runtime/unwind/unwind.h:158:3: note: in expansion of
macro ‘BUILD_BUG_ON’
158 | BUILD_BUG_ON(sizeof(u64) != sizeof(value));
| ^~~~~~~~~~~~
In file included from /usr/local/share/systemtap/runtime/unwind.c:16,
from /usr/local/share/systemtap/runtime/linux/runtime.h:255,
from /usr/local/share/systemtap/runtime/runtime.h:26,
from /tmp/stapsiNon3/stap_767845_src.c:27:
/usr/local/share/systemtap/runtime/unwind/unwind.h:163:2: note: here
163 | case DW_EH_PE_absptr:
| ^~~~
In file included from /usr/local/share/systemtap/runtime/linux/runtime.h:255,
from /usr/local/share/systemtap/runtime/runtime.h:26,
from /tmp/stapsiNon3/stap_767845_src.c:27:
/usr/local/share/systemtap/runtime/unwind.c: In function ‘processCFI’:
/usr/local/share/systemtap/runtime/unwind.c:519:8: error: this statement may
fall through [-Werror=implicit-fallthrough=]
519 | if (compat_task) {
| ^
/usr/local/share/systemtap/runtime/unwind.c:531:4: note: here
531 | case DW_CFA_def_cfa_offset:
| ^~~~
/usr/local/share/systemtap/runtime/unwind.c:543:8: error: this statement may
fall through [-Werror=implicit-fallthrough=]
543 | if (compat_task) {
| ^
/usr/local/share/systemtap/runtime/unwind.c:553:4: note: here
553 | case DW_CFA_def_cfa_offset_sf:
| ^~~~
cc1: all warnings being treated as errors
~~~
Editing the generated Makefile to remove -Werror i.e.
- EXTRA_CFLAGS += -Wno-unused $(call cc-option,-Wno-tautological-compare)
-Werror
+ EXTRA_CFLAGS += -Wno-unused $(call cc-option,-Wno-tautological-compare)
permits the trace module to compile. However, buildrun.cxx says
~~~
// A bit of obfuscation for Gentoo's sake.
// We *need* -Werror for stapconf to work correctly.
// https://bugs.gentoo.org/show_bug.cgi?id=522908
#define WERROR ("-W" "error")
~~~
... so I presume some of the runtime configure tests are relying on things like
implicit function declaration warnings, and anyway it's not desirable to just
ignore warnings.
It's unfortunate that staprun offers no way to disable -Werror or selectively
suppress some -Werror sub-categories though, as it makes stap very fragile in
the face of compiler and kernel changes.
--
You are receiving this mail because:
You are the assignee for the bug.