mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
![Luc Van Oostenryck](/assets/img/avatar_default.png)
By default, sparse assumes a 64bit machine when compiled on x86-64 and 32bit when compiled on anything else. This can of course create all sort of problems for the other archs, like issuing false warnings ('shift too big (32) for type unsigned long'), or worse, failing to emit legitimate warnings. Fix this by adding the -m32/-m64 flag, depending on CONFIG_64BIT, to CHECKFLAGS in the main Makefile (and so for all archs). Also, remove the now unneeded -m32/-m64 in arch specific Makefiles. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
69 lines
2.2 KiB
Makefile
69 lines
2.2 KiB
Makefile
#
|
|
# alpha/Makefile
|
|
#
|
|
# This file is subject to the terms and conditions of the GNU General Public
|
|
# License. See the file "COPYING" in the main directory of this archive
|
|
# for more details.
|
|
#
|
|
# Copyright (C) 1994 by Linus Torvalds
|
|
#
|
|
|
|
NM := $(NM) -B
|
|
|
|
LDFLAGS_vmlinux := -static -N #-relax
|
|
CHECKFLAGS += -D__alpha__
|
|
cflags-y := -pipe -mno-fp-regs -ffixed-8
|
|
cflags-y += $(call cc-option, -fno-jump-tables)
|
|
|
|
cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4
|
|
cpuflags-$(CONFIG_ALPHA_EV5) := -mcpu=ev5
|
|
cpuflags-$(CONFIG_ALPHA_EV56) := -mcpu=ev56
|
|
cpuflags-$(CONFIG_ALPHA_POLARIS) := -mcpu=pca56
|
|
cpuflags-$(CONFIG_ALPHA_SX164) := -mcpu=pca56
|
|
cpuflags-$(CONFIG_ALPHA_EV6) := -mcpu=ev6
|
|
cpuflags-$(CONFIG_ALPHA_EV67) := -mcpu=ev67
|
|
# If GENERIC, make sure to turn off any instruction set extensions that
|
|
# the host compiler might have on by default. Given that EV4 and EV5
|
|
# have the same instruction set, prefer EV5 because an EV5 schedule is
|
|
# more likely to keep an EV4 processor busy than vice-versa.
|
|
cpuflags-$(CONFIG_ALPHA_GENERIC) := -mcpu=ev5
|
|
|
|
cflags-y += $(cpuflags-y)
|
|
|
|
|
|
# For TSUNAMI, we must have the assembler not emulate our instructions.
|
|
# The same is true for IRONGATE, POLARIS, PYXIS.
|
|
# BWX is most important, but we don't really want any emulation ever.
|
|
KBUILD_CFLAGS += $(cflags-y) -Wa,-mev6
|
|
|
|
head-y := arch/alpha/kernel/head.o
|
|
|
|
core-y += arch/alpha/kernel/ arch/alpha/mm/
|
|
core-$(CONFIG_MATHEMU) += arch/alpha/math-emu/
|
|
drivers-$(CONFIG_OPROFILE) += arch/alpha/oprofile/
|
|
libs-y += arch/alpha/lib/
|
|
|
|
# export what is needed by arch/alpha/boot/Makefile
|
|
LIBS_Y := $(patsubst %/, %/lib.a, $(libs-y))
|
|
export LIBS_Y
|
|
|
|
boot := arch/alpha/boot
|
|
|
|
#Default target when executing make with no arguments
|
|
all boot: $(boot)/vmlinux.gz
|
|
|
|
$(boot)/vmlinux.gz: vmlinux
|
|
$(Q)$(MAKE) $(build)=$(boot) $@
|
|
|
|
bootimage bootpfile bootpzfile: vmlinux
|
|
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
|
|
|
archclean:
|
|
$(Q)$(MAKE) $(clean)=$(boot)
|
|
|
|
define archhelp
|
|
echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)'
|
|
echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)'
|
|
echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)'
|
|
echo ' bootpzfile - compressed kernel BOOTP image (arch/alpha/boot/bootpzfile)'
|
|
endef
|