From 44855d773be5c0cc817dba3907184984b5cb659d Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Fri, 3 Jan 2025 14:35:10 -0600 Subject: [PATCH] shared/macro: Add _alignedptr_ Peek what systemd does and do something similar. Instead of hardcoding 8, add a ptr abstraction for the aligned attribute. Signed-off-by: Lucas De Marchi Link: https://github.com/kmod-project/kmod/pull/274 --- shared/macro.h | 1 + testsuite/testsuite.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/shared/macro.h b/shared/macro.h index 3e8143f8..8829d0b6 100644 --- a/shared/macro.h +++ b/shared/macro.h @@ -49,6 +49,7 @@ #define _retain_ __attribute((retain)) #define _section_(a) __attribute((section(a))) #define _aligned_(a) __attribute((aligned(a))) +#define _alignedptr_ _aligned_(sizeof(void *)) #if defined(__clang_analyzer__) #define _clang_suppress_ __attribute__((suppress)) diff --git a/testsuite/testsuite.h b/testsuite/testsuite.h index eca276d5..2ea50a52 100644 --- a/testsuite/testsuite.h +++ b/testsuite/testsuite.h @@ -132,7 +132,7 @@ int test_run(const struct test *t); _used_ \ _retain_ \ _section_("kmod_tests") \ - _aligned_(8) \ + _alignedptr_ \ static const struct test UNIQ(s##_name) = { \ .name = #_name, .func = _func, ##__VA_ARGS__ \ }; -- 2.47.2