kbuild: enable 'make AFLAGS=...' to add additional options to AS
The variable AFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. On top of that several people over time has asked for a way to pass in additional flags to gcc. This patch replace use of AFLAGS with KBUILD_AFLAGS all over the tree. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390 Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
714055ede4
commit
222d394d30
|
@ -424,6 +424,7 @@ more details, with real examples.
|
|||
as-instr checks if the assembler reports a specific instruction
|
||||
and then outputs either option1 or option2
|
||||
C escapes are supported in the test instruction
|
||||
Note: as-instr-option uses KBUILD_AFLAGS for $(AS) options
|
||||
|
||||
cc-option
|
||||
cc-option is used to check if $(CC) supports a given option, and not
|
||||
|
@ -819,14 +820,14 @@ When kbuild executes, the following steps are followed (roughly):
|
|||
In this example, the binary $(obj)/image is a binary version of
|
||||
vmlinux. The usage of $(call if_changed,xxx) will be described later.
|
||||
|
||||
AFLAGS $(AS) assembler flags
|
||||
KBUILD_AFLAGS $(AS) assembler flags
|
||||
|
||||
Default value - see top level Makefile
|
||||
Append or modify as required per architecture.
|
||||
|
||||
Example:
|
||||
#arch/sparc64/Makefile
|
||||
AFLAGS += -m64 -mcpu=ultrasparc
|
||||
KBUILD_AFLAGS += -m64 -mcpu=ultrasparc
|
||||
|
||||
KBUILD_CFLAGS $(CC) compiler flags
|
||||
|
||||
|
|
8
Makefile
8
Makefile
|
@ -323,7 +323,7 @@ CPPFLAGS := -D__KERNEL__ $(LINUXINCLUDE)
|
|||
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
|
||||
-fno-strict-aliasing -fno-common \
|
||||
-Werror-implicit-function-declaration
|
||||
AFLAGS := -D__ASSEMBLY__
|
||||
KBUILD_AFLAGS := -D__ASSEMBLY__
|
||||
|
||||
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
||||
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
||||
|
@ -336,7 +336,7 @@ export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
|
|||
|
||||
export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
|
||||
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
|
||||
export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
|
||||
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
|
||||
|
||||
# When compiling out-of-tree modules, put MODVERDIR in the module
|
||||
# tree rather than in the kernel tree. The kernel tree might
|
||||
|
@ -507,7 +507,7 @@ endif
|
|||
|
||||
ifdef CONFIG_DEBUG_INFO
|
||||
KBUILD_CFLAGS += -g
|
||||
AFLAGS += -gdwarf-2
|
||||
KBUILD_AFLAGS += -gdwarf-2
|
||||
endif
|
||||
|
||||
# Force gcc to behave correct even for buggy distributions
|
||||
|
@ -1502,7 +1502,7 @@ quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files))
|
|||
cmd_rmfiles = rm -f $(rm-files)
|
||||
|
||||
|
||||
a_flags = -Wp,-MD,$(depfile) $(AFLAGS) $(AFLAGS_KERNEL) \
|
||||
a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \
|
||||
$(NOSTDINC_FLAGS) $(CPPFLAGS) \
|
||||
$(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ endif
|
|||
|
||||
# Need -Uarm for gcc < 3.x
|
||||
KBUILD_CFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
|
||||
AFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -msoft-float
|
||||
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -msoft-float
|
||||
|
||||
CHECKFLAGS += -D__arm__
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# EXTRA_CFLAGS := -DDEBUG
|
||||
# EXTRA_AFLAGS := -DDEBUG
|
||||
|
||||
AFLAGS :=$(AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp)
|
||||
KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp)
|
||||
LDFLAGS +=--no-warn-mismatch
|
||||
|
||||
obj-y += vfp.o
|
||||
|
|
|
@ -12,14 +12,14 @@ all: uImage vmlinux.elf
|
|||
KBUILD_DEFCONFIG := atstk1002_defconfig
|
||||
|
||||
KBUILD_CFLAGS += -pipe -fno-builtin -mno-pic
|
||||
AFLAGS += -mrelax -mno-pic
|
||||
KBUILD_AFLAGS += -mrelax -mno-pic
|
||||
CFLAGS_MODULE += -mno-relax
|
||||
LDFLAGS_vmlinux += --relax
|
||||
|
||||
cpuflags-$(CONFIG_CPU_AT32AP7000) += -mcpu=ap7000
|
||||
|
||||
KBUILD_CFLAGS += $(cpuflags-y)
|
||||
AFLAGS += $(cpuflags-y)
|
||||
KBUILD_AFLAGS += $(cpuflags-y)
|
||||
|
||||
CHECKFLAGS += -D__avr32__ -D__BIG_ENDIAN
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ rev-$(CONFIG_BF_REV_NONE) := none
|
|||
rev-$(CONFIG_BF_REV_ANY) := any
|
||||
|
||||
KBUILD_CFLAGS += -mcpu=$(cpu-y)-$(rev-y)
|
||||
AFLAGS += -mcpu=$(cpu-y)-$(rev-y)
|
||||
KBUILD_AFLAGS += -mcpu=$(cpu-y)-$(rev-y)
|
||||
|
||||
head-y := arch/$(ARCH)/mach-$(MACHINE)/head.o arch/$(ARCH)/kernel/init_task.o
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ LD = $(CROSS_COMPILE)ld -mcrislinux
|
|||
OBJCOPYFLAGS := -O binary -R .note -R .comment -S
|
||||
|
||||
CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
|
||||
AFLAGS += -mlinux
|
||||
KBUILD_AFLAGS += -mlinux
|
||||
|
||||
KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe
|
||||
|
||||
|
|
|
@ -63,16 +63,16 @@ endif
|
|||
|
||||
ifdef CONFIG_CPU_FR451_COMPILE
|
||||
KBUILD_CFLAGS += -mcpu=fr450
|
||||
AFLAGS += -mcpu=fr450
|
||||
KBUILD_AFLAGS += -mcpu=fr450
|
||||
ASFLAGS += -mcpu=fr450
|
||||
else
|
||||
ifdef CONFIG_CPU_FR551_COMPILE
|
||||
KBUILD_CFLAGS += -mcpu=fr550
|
||||
AFLAGS += -mcpu=fr550
|
||||
KBUILD_AFLAGS += -mcpu=fr550
|
||||
ASFLAGS += -mcpu=fr550
|
||||
else
|
||||
KBUILD_CFLAGS += -mcpu=fr400
|
||||
AFLAGS += -mcpu=fr400
|
||||
KBUILD_AFLAGS += -mcpu=fr400
|
||||
ASFLAGS += -mcpu=fr400
|
||||
endif
|
||||
endif
|
||||
|
@ -82,14 +82,14 @@ endif
|
|||
# - all the extra registers are dealt with only at context switch time
|
||||
KBUILD_CFLAGS += -mno-fdpic -mgpr-32 -msoft-float -mno-media
|
||||
KBUILD_CFLAGS += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2
|
||||
AFLAGS += -mno-fdpic
|
||||
KBUILD_AFLAGS += -mno-fdpic
|
||||
ASFLAGS += -mno-fdpic
|
||||
|
||||
# make sure the .S files get compiled with debug info
|
||||
# and disable optimisations that are unhelpful whilst debugging
|
||||
ifdef CONFIG_DEBUG_INFO
|
||||
#KBUILD_CFLAGS += -O1
|
||||
AFLAGS += -Wa,--gdwarf2
|
||||
KBUILD_AFLAGS += -Wa,--gdwarf2
|
||||
ASFLAGS += -Wa,--gdwarf2
|
||||
endif
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ KBUILD_CFLAGS += -mint32 -fno-builtin
|
|||
KBUILD_CFLAGS += -g
|
||||
KBUILD_CFLAGS += -D__linux__
|
||||
KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
|
||||
AFLAGS += -DPLATFORM=$(PLATFORM) -DMODEL=$(MODEL) $(cflags-y)
|
||||
KBUILD_AFLAGS += -DPLATFORM=$(PLATFORM) -DMODEL=$(MODEL) $(cflags-y)
|
||||
LDFLAGS += $(ldflags-y)
|
||||
|
||||
CROSS_COMPILE = h8300-elf-
|
||||
|
|
|
@ -55,11 +55,11 @@ KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call c
|
|||
|
||||
# do binutils support CFI?
|
||||
cflags-y += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
|
||||
# is .cfi_signal_frame supported too?
|
||||
cflags-y += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
|
||||
AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
|
||||
KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
|
||||
|
||||
KBUILD_CFLAGS += $(cflags-y)
|
||||
|
||||
|
@ -117,7 +117,7 @@ drivers-$(CONFIG_PM) += arch/x86/power/
|
|||
drivers-$(CONFIG_FB) += arch/x86/video/
|
||||
|
||||
KBUILD_CFLAGS += $(mflags-y)
|
||||
AFLAGS += $(mflags-y)
|
||||
KBUILD_AFLAGS += $(mflags-y)
|
||||
|
||||
boot := arch/x86/boot
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ cflags-$(CONFIG_ISA_M32R) += -DNO_FPU
|
|||
aflags-$(CONFIG_ISA_M32R) += -DNO_FPU -O2 -Wa,-no-bitinst
|
||||
|
||||
KBUILD_CFLAGS += $(cflags-y)
|
||||
AFLAGS += $(aflags-y)
|
||||
KBUILD_AFLAGS += $(aflags-y)
|
||||
|
||||
CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ cflags-$(CONFIG_M68EZ328) := -m68000
|
|||
cflags-$(CONFIG_M68VZ328) := -m68000
|
||||
cflags-$(CONFIG_M68360) := -m68332
|
||||
|
||||
AFLAGS += $(cflags-y)
|
||||
KBUILD_AFLAGS += $(cflags-y)
|
||||
|
||||
KBUILD_CFLAGS += $(cflags-y)
|
||||
KBUILD_CFLAGS += -D__linux__
|
||||
|
|
|
@ -608,7 +608,7 @@ ifdef CONFIG_64BIT
|
|||
endif
|
||||
endif
|
||||
|
||||
AFLAGS += $(cflags-y)
|
||||
KBUILD_AFLAGS += $(cflags-y)
|
||||
KBUILD_CFLAGS += $(cflags-y) \
|
||||
-D"VMLINUX_LOAD_ADDRESS=$(load-y)"
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ AFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH)
|
|||
CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc
|
||||
CFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH) -ffixed-r2 -mmultiple
|
||||
CPPFLAGS += $(CPPFLAGS-y)
|
||||
AFLAGS += $(AFLAGS-y)
|
||||
KBUILD_AFLAGS += $(AFLAGS-y)
|
||||
KBUILD_CFLAGS += -msoft-float -pipe $(CFLAGS-y)
|
||||
CPP = $(CC) -E $(KBUILD_CFLAGS)
|
||||
|
||||
|
@ -125,7 +125,7 @@ cpu-as-$(CONFIG_POWER4) += -Wa,-maltivec
|
|||
cpu-as-$(CONFIG_E500) += -Wa,-me500
|
||||
cpu-as-$(CONFIG_E200) += -Wa,-me200
|
||||
|
||||
AFLAGS += $(cpu-as-y)
|
||||
KBUILD_AFLAGS += $(cpu-as-y)
|
||||
KBUILD_CFLAGS += $(cpu-as-y)
|
||||
|
||||
head-y := arch/powerpc/kernel/head_$(CONFIG_WORD_SIZE).o
|
||||
|
|
|
@ -23,7 +23,7 @@ endif
|
|||
LDFLAGS_vmlinux := -Ttext $(KERNELLOAD) -Bstatic
|
||||
# The -Iarch/$(ARCH)/include is temporary while we are merging
|
||||
CPPFLAGS += -Iarch/$(ARCH) -Iarch/$(ARCH)/include
|
||||
AFLAGS += -Iarch/$(ARCH)
|
||||
KBUILD_AFLAGS += -Iarch/$(ARCH)
|
||||
KBUILD_CFLAGS += -Iarch/$(ARCH) -msoft-float -pipe \
|
||||
-ffixed-r2 -mmultiple
|
||||
|
||||
|
@ -45,7 +45,7 @@ cpu-as-$(CONFIG_6xx) += -Wa,-maltivec
|
|||
cpu-as-$(CONFIG_E500) += -Wa,-me500
|
||||
cpu-as-$(CONFIG_E200) += -Wa,-me200
|
||||
|
||||
AFLAGS += $(cpu-as-y)
|
||||
KBUILD_AFLAGS += $(cpu-as-y)
|
||||
KBUILD_CFLAGS += $(cpu-as-y)
|
||||
|
||||
# Default to the common case.
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
ifndef CONFIG_64BIT
|
||||
LDFLAGS := -m elf_s390
|
||||
KBUILD_CFLAGS += -m31
|
||||
AFLAGS += -m31
|
||||
KBUILD_AFLAGS += -m31
|
||||
UTS_MACHINE := s390
|
||||
STACK_SIZE := 8192
|
||||
CHECKFLAGS += -D__s390__ -msize-long
|
||||
|
@ -24,7 +24,7 @@ else
|
|||
LDFLAGS := -m elf64_s390
|
||||
MODFLAGS += -fpic -D__PIC__
|
||||
KBUILD_CFLAGS += -m64
|
||||
AFLAGS += -m64
|
||||
KBUILD_AFLAGS += -m64
|
||||
UTS_MACHINE := s390x
|
||||
STACK_SIZE := 16384
|
||||
CHECKFLAGS += -D__s390__ -D__s390x__
|
||||
|
@ -79,7 +79,7 @@ endif
|
|||
|
||||
KBUILD_CFLAGS += -mbackchain -msoft-float $(cflags-y)
|
||||
KBUILD_CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare
|
||||
AFLAGS += $(aflags-y)
|
||||
KBUILD_AFLAGS += $(aflags-y)
|
||||
|
||||
OBJCOPYFLAGS := -O binary
|
||||
LDFLAGS_vmlinux := -e start
|
||||
|
|
|
@ -92,7 +92,7 @@ LDFLAGS += -EB
|
|||
endif
|
||||
|
||||
KBUILD_CFLAGS += -pipe $(cflags-y)
|
||||
AFLAGS += $(cflags-y)
|
||||
KBUILD_AFLAGS += $(cflags-y)
|
||||
|
||||
head-y := arch/sh/kernel/head.o arch/sh/kernel/init_task.o
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ CHECKFLAGS += -D__sparc__
|
|||
|
||||
#KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7
|
||||
KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
|
||||
AFLAGS := $(AFLAGS) -m32
|
||||
KBUILD_AFLAGS += -m32
|
||||
|
||||
#LDFLAGS_vmlinux = -N -Ttext 0xf0004000
|
||||
# Since 2.5.40, the first stage is left not btfix-ed.
|
||||
|
|
|
@ -45,7 +45,7 @@ else
|
|||
KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow \
|
||||
-ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \
|
||||
$(CC_UNDECL)
|
||||
AFLAGS += -m64 -mcpu=ultrasparc $(CC_UNDECL)
|
||||
KBUILD_AFLAGS += -m64 -mcpu=ultrasparc $(CC_UNDECL)
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_MCOUNT),y)
|
||||
|
|
|
@ -62,7 +62,7 @@ KBUILD_CFLAGS += $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\" \
|
|||
$(ARCH_INCLUDE) $(MODE_INCLUDE) -Dvmap=kernel_vmap \
|
||||
-Din6addr_loopback=kernel_in6addr_loopback
|
||||
|
||||
AFLAGS += $(ARCH_INCLUDE)
|
||||
KBUILD_AFLAGS += $(ARCH_INCLUDE)
|
||||
|
||||
USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
|
||||
$(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \
|
||||
|
|
|
@ -16,7 +16,7 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -S
|
|||
ifeq ("$(origin SUBARCH)", "command line")
|
||||
ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)")
|
||||
KBUILD_CFLAGS += $(call cc-option,-m32)
|
||||
AFLAGS += $(call cc-option,-m32)
|
||||
KBUILD_AFLAGS += $(call cc-option,-m32)
|
||||
LINK-y += $(call cc-option,-m32)
|
||||
UML_OBJCOPYFLAGS += -F $(ELF_FORMAT)
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ ARCH_KERNEL_DEFINES = -U__$(SUBARCH)__
|
|||
KBUILD_CFLAGS += $(_extra_flags_)
|
||||
|
||||
CHECKFLAGS += -m64
|
||||
AFLAGS += -m64
|
||||
KBUILD_AFLAGS += -m64
|
||||
LDFLAGS += -m elf_x86_64
|
||||
CPPFLAGS += -m64
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
OBJ = built-in.o
|
||||
|
||||
.S.o:
|
||||
$(CC) $(AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
|
||||
$(CC) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
|
||||
|
||||
OBJS = ptrace.o sigcontext.o semaphore.o checksum.o miscthings.o misc.o \
|
||||
ptrace_user.o sysrq.o
|
||||
|
@ -57,13 +57,13 @@ ppc_defs.h: mk_defs.c ppc_defs.head \
|
|||
checksum.o: checksum.S
|
||||
rm -f asm
|
||||
ln -s $(TOPDIR)/include/asm-ppc asm
|
||||
$(CC) $(EXTRA_AFLAGS) $(AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
|
||||
$(CC) $(EXTRA_AFLAGS) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
|
||||
rm -f asm
|
||||
|
||||
misc.o: misc.S ppc_defs.h
|
||||
rm -f asm
|
||||
ln -s $(TOPDIR)/include/asm-ppc asm
|
||||
$(CC) $(EXTRA_AFLAGS) $(AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
|
||||
$(CC) $(EXTRA_AFLAGS) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
|
||||
rm -f asm
|
||||
|
||||
clean-files := $(OBJS) ppc_defs.h checksum.S semaphore.c mk_defs.c
|
||||
|
|
|
@ -61,7 +61,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
|
|||
$(call cc-option, -fno-unit-at-a-time)) \
|
||||
$(call cc-option, -fno-stack-protector) \
|
||||
$(call cc-option, -mpreferred-stack-boundary=2)
|
||||
AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
|
||||
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
|
||||
|
||||
$(obj)/zImage: IMAGE_OFFSET := 0x1000
|
||||
$(obj)/zImage: EXTRA_AFLAGS := $(SVGA_MODE) $(RAMDISK)
|
||||
|
|
|
@ -10,7 +10,7 @@ KBUILD_CFLAGS := -m64 -D__KERNEL__ $(LINUXINCLUDE) -O2 \
|
|||
-fno-strict-aliasing -fPIC -mcmodel=small \
|
||||
$(call cc-option, -ffreestanding) \
|
||||
$(call cc-option, -fno-stack-protector)
|
||||
AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
|
||||
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
|
||||
LDFLAGS := -m elf_x86_64
|
||||
|
||||
LDFLAGS_vmlinux := -T
|
||||
|
|
|
@ -61,18 +61,18 @@ cflags-y += -maccumulate-outgoing-args
|
|||
|
||||
# do binutils support CFI?
|
||||
cflags-y += $(call as-instr,.cfi_startproc\n.cfi_rel_offset rsp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset rsp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset rsp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
|
||||
# is .cfi_signal_frame supported too?
|
||||
cflags-y += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
|
||||
AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
|
||||
KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
|
||||
|
||||
cflags-$(CONFIG_CC_STACKPROTECTOR) += $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-x86_64-has-stack-protector.sh "$(CC)" -fstack-protector )
|
||||
cflags-$(CONFIG_CC_STACKPROTECTOR_ALL) += $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-x86_64-has-stack-protector.sh "$(CC)" -fstack-protector-all )
|
||||
|
||||
KBUILD_CFLAGS += $(cflags-y)
|
||||
CFLAGS_KERNEL += $(cflags-kernel-y)
|
||||
AFLAGS += -m64
|
||||
KBUILD_AFLAGS += -m64
|
||||
|
||||
head-y := arch/x86/kernel/head_64.o arch/x86/kernel/head64.o arch/x86/kernel/init_task_64.o
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ as-option = $(call try-run,\
|
|||
# Usage: cflags-y += $(call as-instr,instr,option1,option2)
|
||||
|
||||
as-instr = $(call try-run,\
|
||||
echo -e "$(1)" | $(CC) $(AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))
|
||||
echo -e "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))
|
||||
|
||||
# cc-option
|
||||
# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
|
||||
|
|
|
@ -85,7 +85,7 @@ modname_flags = $(if $(filter 1,$(words $(modname))),\
|
|||
-D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))")
|
||||
|
||||
_c_flags = $(KBUILD_CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(basetarget).o)
|
||||
_a_flags = $(AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)
|
||||
_a_flags = $(KBUILD_AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)
|
||||
_cpp_flags = $(CPPFLAGS) $(EXTRA_CPPFLAGS) $(CPPFLAGS_$(@F))
|
||||
|
||||
# If building the kernel in a separate objtree expand all occurrences
|
||||
|
|
Loading…
Reference in New Issue