xref: /OK3568_Linux_fs/kernel/arch/x86/Makefile.um (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyuncore-y += arch/x86/crypto/
3*4882a593Smuzhiyun
4*4882a593Smuzhiyunifeq ($(CONFIG_X86_32),y)
5*4882a593SmuzhiyunSTART := 0x8048000
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunKBUILD_LDFLAGS		+= -m elf_i386
8*4882a593SmuzhiyunELF_ARCH		:= i386
9*4882a593SmuzhiyunELF_FORMAT 		:= elf32-i386
10*4882a593SmuzhiyunCHECKFLAGS	+= -D__i386__
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunKBUILD_CFLAGS		+= $(call cc-option,-m32)
13*4882a593SmuzhiyunKBUILD_AFLAGS		+= $(call cc-option,-m32)
14*4882a593SmuzhiyunLINK-y			+= $(call cc-option,-m32)
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunLDS_EXTRA		:= -Ui386
17*4882a593Smuzhiyunexport LDS_EXTRA
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
20*4882a593Smuzhiyuninclude arch/x86/Makefile_32.cpu
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun# prevent gcc from keeping the stack 16 byte aligned. Taken from i386.
23*4882a593Smuzhiyuncflags-y += $(call cc-option,-mpreferred-stack-boundary=2)
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun# Prevent sprintf in nfsd from being converted to strcpy and resulting in
26*4882a593Smuzhiyun# an unresolved reference.
27*4882a593Smuzhiyuncflags-y += -ffreestanding
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunKBUILD_CFLAGS += $(cflags-y)
30*4882a593Smuzhiyun
31*4882a593Smuzhiyunelse
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunSTART := 0x60000000
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunKBUILD_CFLAGS += -fno-builtin -m64
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunCHECKFLAGS  += -m64 -D__x86_64__
38*4882a593SmuzhiyunKBUILD_AFLAGS += -m64
39*4882a593SmuzhiyunKBUILD_LDFLAGS += -m elf_x86_64
40*4882a593SmuzhiyunKBUILD_CPPFLAGS += -m64
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunELF_ARCH := i386:x86-64
43*4882a593SmuzhiyunELF_FORMAT := elf64-x86-64
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun# Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
46*4882a593Smuzhiyun
47*4882a593SmuzhiyunLINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
48*4882a593SmuzhiyunLINK-y += -m64
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunendif
51