[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260203093018.66c3b3b2@gandalf.local.home>
Date: Tue, 3 Feb 2026 09:30:18 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: "jempty.liang" <imntjempty@....com>
Cc: mhiramat@...nel.org, mark.rutland@....com,
mathieu.desnoyers@...icios.com, linux-kernel@...r.kernel.org,
linux-trace-kernel@...r.kernel.org
Subject: Re: [PATCH v2] tracing: Fix funcgraph_exit calltime/rettime offset
for 32-bit ARM
On Tue, 3 Feb 2026 18:04:21 +0800 (CST)
"jempty.liang" <imntjempty@....com> wrote:
> > #include "trace_output.h"
> >
> >+/* The alignment of a type when in a structure */
> >+#define ALIGN_STRUCTFIELD(type) ((int)(__alignof__(struct {type b;})))
> >+
> > /* Stub function for events with triggers */
> > static int ftrace_event_register(struct trace_event_call *call,
> > enum trace_reg type, void *data)
> >@@ -88,7 +91,7 @@ static void __always_unused ____ftrace_check_##name(void) \
> > #undef __field_ext
> > #define __field_ext(_type, _item, _filter_type) { \
> > .type = #_type, .name = #_item, \
> >- .size = sizeof(_type), .align = __alignof__(_type), \
> >+ .size = sizeof(_type), .align = ALIGN_STRUCTFIELD(_type), \
> > is_signed_type(_type), .filter_type = _filter_type },
> >
> On the 32-bit ARM platform, when _type is unsigned long long, the resulting align value is 8 instead of the expected 4.
> >
Are you saying this still doesn't work?
That would be an issue because then it would have the same bugs with
generic trace events which uses the same solution.
-- Steve
Powered by blists - more mailing lists