]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c
authorMenglong Dong <menglong8.dong@gmail.com>
Wed, 17 Sep 2025 06:09:13 +0000 (14:09 +0800)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 25 Sep 2025 07:57:15 +0000 (09:57 +0200)
commit35561bab768977c9e05f1f1a9bc00134c85f3e28
treee409f77b810defc9ecb0dbb092b2e3ea1812b09e
parent0d4eaf8caf8cd633b23e949e2996b420052c2d45
arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c

The include/generated/asm-offsets.h is generated in Kbuild during
compiling from arch/SRCARCH/kernel/asm-offsets.c. When we want to
generate another similar offset header file, circular dependency can
happen.

For example, we want to generate a offset file include/generated/test.h,
which is included in include/sched/sched.h. If we generate asm-offsets.h
first, it will fail, as include/sched/sched.h is included in asm-offsets.c
and include/generated/test.h doesn't exist; If we generate test.h first,
it can't success neither, as include/generated/asm-offsets.h is included
by it.

In x86_64, the macro COMPILE_OFFSETS is used to avoid such circular
dependency. We can generate asm-offsets.h first, and if the
COMPILE_OFFSETS is defined, we don't include the "generated/test.h".

And we define the macro COMPILE_OFFSETS for all the asm-offsets.c for this
purpose.

Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
20 files changed:
arch/alpha/kernel/asm-offsets.c
arch/arc/kernel/asm-offsets.c
arch/arm/kernel/asm-offsets.c
arch/arm64/kernel/asm-offsets.c
arch/csky/kernel/asm-offsets.c
arch/hexagon/kernel/asm-offsets.c
arch/loongarch/kernel/asm-offsets.c
arch/m68k/kernel/asm-offsets.c
arch/microblaze/kernel/asm-offsets.c
arch/mips/kernel/asm-offsets.c
arch/nios2/kernel/asm-offsets.c
arch/openrisc/kernel/asm-offsets.c
arch/parisc/kernel/asm-offsets.c
arch/powerpc/kernel/asm-offsets.c
arch/riscv/kernel/asm-offsets.c
arch/s390/kernel/asm-offsets.c
arch/sh/kernel/asm-offsets.c
arch/sparc/kernel/asm-offsets.c
arch/um/kernel/asm-offsets.c
arch/xtensa/kernel/asm-offsets.c