[for-next][PATCH 5/5] tracing: Use alignof__(struct {type b;}) instead of offsetof()

From: Steven Rostedt
Date: Wed Aug 03 2022 - 09:56:53 EST


From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx>

Simplify:

#define ALIGN_STRUCTFIELD(type) ((int)(offsetof(struct {char a; type b;}, b)))

with

#define ALIGN_STRUCTFIELD(type) __alignof__(struct {type b;})

Which works just the same.

Link: https://lore.kernel.org/all/a7d202457150472588df0bd3b7334b3f@xxxxxxxxxxxxxxxx/
Link: https://lkml.kernel.org/r/20220802154412.513c50e3@xxxxxxxxxxxxxxxxxx

Suggested-by: David Laight <David.Laight@xxxxxxxxxx>
Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
---
include/trace/stages/stage4_event_fields.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/trace/stages/stage4_event_fields.h b/include/trace/stages/stage4_event_fields.h
index 80d34f396555..a8fb25f39a99 100644
--- a/include/trace/stages/stage4_event_fields.h
+++ b/include/trace/stages/stage4_event_fields.h
@@ -2,7 +2,7 @@

/* Stage 4 definitions for creating trace events */

-#define ALIGN_STRUCTFIELD(type) ((int)(offsetof(struct {char a; type b;}, b)))
+#define ALIGN_STRUCTFIELD(type) ((int)(__alignof__(struct {type b;})))

#undef __field_ext
#define __field_ext(_type, _item, _filter_type) { \
--
2.35.1