Messages in this thread | | | From | Nick Desaulniers <> | Date | Mon, 23 Sep 2019 15:06:27 -0700 | Subject | Re: [PATCH] xen/trace: avoid clang warning on function pointers |
| |
On Fri, Jul 12, 2019 at 10:41 AM Nathan Chancellor <natechancellor@gmail.com> wrote: > > On Fri, Jul 12, 2019 at 10:58:48AM +0200, Arnd Bergmann wrote: > > clang-9 does not like the way that the is_signed_type() compares > > function pointers deep inside of the trace even macros: > > > > In file included from arch/x86/xen/trace.c:21: > > In file included from include/trace/events/xen.h:475: > > In file included from include/trace/define_trace.h:102: > > In file included from include/trace/trace_events.h:467: > > include/trace/events/xen.h:69:7: error: ordered comparison of function pointers ('xen_mc_callback_fn_t' (aka 'void (*)(void *)') and 'xen_mc_callback_fn_t') [-Werror,-Wordered-compare-function-pointers] > > __field(xen_mc_callback_fn_t, fn) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > include/trace/trace_events.h:415:29: note: expanded from macro '__field' > > #define __field(type, item) __field_ext(type, item, FILTER_OTHER) > > ^ > > include/trace/trace_events.h:401:6: note: expanded from macro '__field_ext' > > is_signed_type(type), filter_type); \ > > ^ > > include/linux/trace_events.h:540:44: note: expanded from macro 'is_signed_type' > > #define is_signed_type(type) (((type)(-1)) < (type)1) > > ^ > > note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) > > include/trace/trace_events.h:77:16: note: expanded from macro 'TRACE_EVENT' > > PARAMS(tstruct), \ > > ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > include/linux/tracepoint.h:95:25: note: expanded from macro 'PARAMS' > > #define PARAMS(args...) args > > ^ > > include/trace/trace_events.h:455:2: note: expanded from macro 'DECLARE_EVENT_CLASS' > > tstruct; \ > > ^~~~~~~ > > > > I guess the warning is reasonable in principle, though this seems to > > be the only instance we get in the entire kernel today. > > Shut up the warning by making it a void pointer in the exported > > structure. > > > > Fixes: c796f213a693 ("xen/trace: add multicall tracing") > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > Nick suggested this as well, I think it's reasonable to work around it > in this one location since this is indeed the only instance of this > warning that I see in the kernel tree across all of my builds. > > Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Steven, Ingo, would one of you mind picking up this fix, please? See for multiple reports: https://github.com/ClangBuiltLinux/linux/issues/216 -- Thanks, ~Nick Desaulniers
| |