linux/arch/hexagon/kernel
Menglong Dong cc89ac0ca5 arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c
[ Upstream commit 35561bab76 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-11-02 22:15:22 +09:00
..
.gitignore hexagon: ignore vmlinux.lds 2021-11-20 10:35:54 -08:00
asm-offsets.c arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c 2025-11-02 22:15:22 +09:00
dma.c hexagon: use the generic global coherent pool 2021-08-19 09:02:40 +02:00
head.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
hexagon_ksyms.c hexagon: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:32 -07:00
irq_cpu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
kgdb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
Makefile vgacon, arch/*: remove unused screen_info definitions 2023-10-17 10:17:02 +02:00
Makefile.syscalls hexagon: use new system call table 2024-07-10 14:23:38 +02:00
module.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
process.c hexagon: process: add internal prototype for do_work_pending() 2023-12-10 17:21:36 -08:00
ptrace.c hexagon: Remove CONFIG_HEXAGON_ARCH_VERSION from uapi header 2023-11-23 10:38:58 +01:00
reset.c hexagon: reset: include linux/reboot.h for prototypes 2023-12-10 17:21:36 -08:00
setup.c Hexagon: Replace all non-returning strlcpy with strscpy 2023-06-14 11:18:05 -07:00
signal.c hexagon: signal: switch to SYSCALL_DEFINE0 for sys_rt_sigreturn() 2023-12-10 17:21:35 -08:00
smp.c smp: Consolidate smp_prepare_boot_cpu() 2024-03-04 12:01:54 +01:00
stacktrace.c hexagon: work around compiler crash 2020-01-04 13:55:09 -08:00
syscalltab.c hexagon: use new system call table 2024-07-10 14:23:38 +02:00
time.c hexagon: time: include asm/delay.h for prototypes 2023-12-10 17:21:35 -08:00
trampoline.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
traps.c hexagon: Fix unbalanced spinlock in die() 2025-02-08 09:58:11 +01:00
vdso.c hexagon: vdso: Fix build failure 2024-09-23 08:17:50 -07:00
vm_entry.S Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 10:07:09 -08:00
vm_events.c hexagon: vm_events: remove unused dummy_handler() 2023-12-10 17:21:37 -08:00
vm_init_segtable.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vm_ops.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vm_switch.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vm_vectors.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vmlinux.lds.S hexagon: vmlinux.lds.S: handle attributes section 2024-03-26 11:07:23 -07:00