]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
buildid: fix build when CONFIG_MODULES is not set
authorRandy Dunlap <rdunlap@infradead.org>
Wed, 2 Jun 2021 03:53:28 +0000 (13:53 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 3 Jun 2021 08:17:07 +0000 (18:17 +1000)
Omit the static_assert() when CONFIG_MODULES is not set/enabled.
Fixes these build errors:

../kernel/kallsyms.c: In function `__sprint_symbol':
../include/linux/kernel.h:53:43: error: dereferencing pointer to incomplete type `struct module'
 #define typeof_member(T, m) typeof(((T*)0)->m)
                                           ^
../include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(typeof_member(struct module, build_id)) == 20"
 #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
                                         ^
../kernel/kallsyms.c:454:4: note: in expansion of macro `static_assert'
    static_assert(sizeof(typeof_member(struct module, build_id)) == 20);
    ^~~~~~~~~~~~~

Link: https://lkml.kernel.org/r/20210513171510.20328-1-rdunlap@infradead.org
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
kernel/kallsyms.c

index 92411224a4dacf8b464b369a6bf44864fee358fe..1355b0404fcd076c572d83b49ab7cdf878178aa9 100644 (file)
@@ -451,7 +451,9 @@ static int __sprint_symbol(char *buffer, unsigned long address,
 #if IS_ENABLED(CONFIG_STACKTRACE_BUILD_ID)
                if (add_buildid && buildid) {
                        /* build ID should match length of sprintf */
+#if IS_ENABLED(CONFIG_MODULES)
                        static_assert(sizeof(typeof_member(struct module, build_id)) == 20);
+#endif
                        len += sprintf(buffer + len, " %20phN", buildid);
                }
 #endif