mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
![Guo Ren](/assets/img/avatar_default.png)
The implementation of show_stack will panic with wrong fp: addr = *fp++; because the fp isn't checked properly. The current implementations of show_stack, wchan and stack_trace haven't been designed properly, so just deprecate them. This patch is a reference to riscv's way, all codes are modified from arm's. The patch is passed with: - cat /proc/<pid>/stack - cat /proc/<pid>/wchan - echo c > /proc/sysrq-trigger Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
86 lines
1.6 KiB
Makefile
86 lines
1.6 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
OBJCOPYFLAGS :=-O binary
|
|
GZFLAGS :=-9
|
|
|
|
ifdef CONFIG_CPU_HAS_FPU
|
|
FPUEXT = f
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_HAS_VDSP
|
|
VDSPEXT = v
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_HAS_TEE
|
|
TEEEXT = t
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_CK610
|
|
CPUTYPE = ck610
|
|
CSKYABI = abiv1
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_CK810
|
|
CPUTYPE = ck810
|
|
CSKYABI = abiv2
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_CK807
|
|
CPUTYPE = ck807
|
|
CSKYABI = abiv2
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_CK860
|
|
CPUTYPE = ck860
|
|
CSKYABI = abiv2
|
|
endif
|
|
|
|
ifneq ($(CSKYABI),)
|
|
MCPU_STR = $(CPUTYPE)$(FPUEXT)$(VDSPEXT)$(TEEEXT)
|
|
KBUILD_CFLAGS += -mcpu=$(CPUTYPE) -Wa,-mcpu=$(MCPU_STR)
|
|
KBUILD_CFLAGS += -DCSKYCPU_DEF_NAME=\"$(MCPU_STR)\"
|
|
KBUILD_CFLAGS += -msoft-float -mdiv
|
|
KBUILD_CFLAGS += -fno-tree-vectorize
|
|
endif
|
|
|
|
KBUILD_CFLAGS += -pipe
|
|
ifeq ($(CSKYABI),abiv2)
|
|
KBUILD_CFLAGS += -mno-stack-size
|
|
endif
|
|
|
|
ifdef CONFIG_FRAME_POINTER
|
|
KBUILD_CFLAGS += -mbacktrace
|
|
endif
|
|
|
|
abidirs := $(patsubst %,arch/csky/%/,$(CSKYABI))
|
|
KBUILD_CFLAGS += $(patsubst %,-I$(srctree)/%inc,$(abidirs))
|
|
|
|
KBUILD_CPPFLAGS += -mlittle-endian
|
|
LDFLAGS += -EL
|
|
|
|
KBUILD_AFLAGS += $(KBUILD_CFLAGS)
|
|
|
|
head-y := arch/csky/kernel/head.o
|
|
|
|
core-y += arch/csky/kernel/
|
|
core-y += arch/csky/mm/
|
|
core-y += arch/csky/$(CSKYABI)/
|
|
|
|
libs-y += arch/csky/lib/ \
|
|
$(shell $(CC) $(KBUILD_CFLAGS) $(KCFLAGS) -print-libgcc-file-name)
|
|
|
|
boot := arch/csky/boot
|
|
core-y += $(boot)/dts/
|
|
|
|
all: zImage
|
|
|
|
zImage Image uImage: vmlinux
|
|
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
|
|
|
archclean:
|
|
$(Q)$(MAKE) $(clean)=$(boot)
|
|
|
|
define archhelp
|
|
echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
|
|
echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
|
|
echo ' uImage - U-Boot wrapped zImage'
|
|
endef
|