OpenCloudOS-Kernel/arch/csky/kernel
Masahiro Yamada 3216484550 kbuild: use obj-y instead extra-y for objects placed at the head
The objects placed at the head of vmlinux need special treatments:

 - arch/$(SRCARCH)/Makefile adds them to head-y in order to place
   them before other archives in the linker command line.

 - arch/$(SRCARCH)/kernel/Makefile adds them to extra-y instead of
   obj-y to avoid them going into built-in.a.

This commit gets rid of the latter.

Create vmlinux.a to collect all the objects that are unconditionally
linked to vmlinux. The objects listed in head-y are moved to the head
of vmlinux.a by using 'ar m'.

With this, arch/$(SRCARCH)/kernel/Makefile can consistently use obj-y
for builtin objects.

There is no *.o that is directly linked to vmlinux. Drop unneeded code
in scripts/clang-tools/gen_compile_commands.py.

$(AR) mPi needs 'T' to workaround the llvm-ar bug. The fix was suggested
by Nathan Chancellor [1].

[1]: https://lore.kernel.org/llvm/YyjjT5gQ2hGMH0ni@dev-arch.thelio-3990X/

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
2022-10-02 18:04:05 +09:00
..
probes csky/kprobe: reclaim insn_slot on kprobe unregistration 2022-07-22 21:36:14 -04:00
vdso csky: Add VDSO with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO 2021-02-27 16:35:09 +08:00
Makefile kbuild: use obj-y instead extra-y for objects placed at the head 2022-10-02 18:04:05 +09:00
asm-offsets.c uaccess: remove CONFIG_SET_FS 2022-02-25 09:36:06 +01:00
atomic.S csky: Remove prologue of page fault handler in entry.S 2021-01-12 09:52:40 +08:00
cpu-probe.c csky: Exception handling and mm-fault 2018-10-25 23:36:19 +08:00
entry.S context_tracking: Split user tracking Kconfig 2022-06-29 17:04:09 -07:00
ftrace.c ftrace: Cleanup ftrace_dyn_arch_init() 2021-10-08 19:41:39 -04:00
head.S csky: Add memory layout 2.5G(user):1.5G(kernel) 2021-01-12 09:52:40 +08:00
io.c csky: optimize memcpy_{from,to}io() and memset_io() 2022-04-18 21:23:55 +08:00
irq.c irq: csky: perform irqentry in entry code 2021-10-26 10:13:27 +01:00
jump_label.c csky: Add jump-label implementation 2022-07-30 11:12:03 -04:00
module.c csky: fix typos in comments 2022-04-06 22:37:58 +08:00
perf_callchain.c uaccess: fix type mismatch warnings from access_ok() 2022-02-25 09:36:05 +01:00
perf_event.c csky: Add VDSO with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO 2021-02-27 16:35:09 +08:00
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
power.c csky: Use do_kernel_power_off() 2022-05-19 19:30:30 +02:00
process.c This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
ptrace.c ptrace: Create ptrace_report_syscall_{entry,exit} in ptrace.h 2022-03-10 13:35:08 -06:00
setup.c csky: Correct position of _stext 2022-07-22 21:36:14 -04:00
signal.c ptrace: Cleanups for v5.18 2022-03-28 17:29:53 -07:00
smp.c profile: setup_profiling_timer() is moslty not implemented 2022-07-29 18:12:36 -07:00
stacktrace.c sched: Add wrapper for get_wchan() to keep task blocked 2021-10-15 11:25:14 +02:00
syscall.c csky: System Call 2018-10-25 23:36:19 +08:00
syscall_table.c csky: System Call 2018-10-25 23:36:19 +08:00
time.c csky: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-02-23 12:48:55 +08:00
traps.c Merge branch 'signal-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2022-01-17 05:49:30 +02:00
vdso.c csky: Add VDSO with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO 2021-02-27 16:35:09 +08:00
vmlinux.lds.S csky: Move HEAD_TEXT_SECTION out of __init_begin-end 2022-07-22 21:36:14 -04:00