Lines Matching +full:ease +full:- +full:of +full:- +full:use
1 # SPDX-License-Identifier: GPL-2.0
10 vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vgetrandom.o vgetrandom-chacha.o
11 vobjs32-y := vdso32/note.o vdso32/system_call.o vdso32/sigreturn.o
12 vobjs32-y += vdso32/vclock_gettime.o vdso32/vgetcpu.o
13 vobjs-$(CONFIG_X86_SGX) += vsgx.o
16 obj-y += vma.o extable.o
19 obj-$(CONFIG_X86_64) += vdso-image-64.o
20 obj-$(CONFIG_X86_X32_ABI) += vdso-image-x32.o
21 obj-$(CONFIG_COMPAT_32) += vdso-image-32.o vdso32-setup.o
23 vobjs := $(addprefix $(obj)/, $(vobjs-y))
24 vobjs32 := $(addprefix $(obj)/, $(vobjs32-y))
28 targets += vdso.lds $(vobjs-y)
29 targets += vdso32/vdso32.lds $(vobjs32-y)
31 targets += $(foreach x, 64 x32 32, vdso-image-$(x).c vdso$(x).so vdso$(x).so.dbg)
33 CPPFLAGS_vdso.lds += -P -C
35 VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \
36 -z max-page-size=4096
41 HOST_EXTRACFLAGS += -I$(srctree)/tools/include -I$(srctree)/include/uapi -I$(srctree)/arch/$(SUBARC…
47 $(obj)/vdso-image-%.c: $(obj)/vdso%.so.dbg $(obj)/vdso%.so $(obj)/vdso2c FORCE
51 # Don't omit frame pointers for ease of userspace debugging, but do
54 CFL := $(PROFILING) -mcmodel=small -fPIC -O2 -fasynchronous-unwind-tables -m64 \
55 $(filter -g%,$(KBUILD_CFLAGS)) -fno-stack-protector \
56 -fno-omit-frame-pointer -foptimize-sibling-calls \
57 -DDISABLE_BRANCH_PROFILING -DBUILD_VDSO
65 $(vobjs): KBUILD_CFLAGS := $(filter-out $(PADDING_CFLAGS) $(CC_FLAGS_LTO) $(CC_FLAGS_CFI) $(RANDSTR…
66 $(vobjs): KBUILD_AFLAGS += -DBUILD_VDSO
69 # vDSO code runs in userspace and -pg doesn't help with profiling anyway.
71 CFLAGS_REMOVE_vclock_gettime.o = -pg
72 CFLAGS_REMOVE_vdso32/vclock_gettime.o = -pg
73 CFLAGS_REMOVE_vgetcpu.o = -pg
74 CFLAGS_REMOVE_vdso32/vgetcpu.o = -pg
75 CFLAGS_REMOVE_vsgx.o = -pg
76 CFLAGS_REMOVE_vgetrandom.o = -pg
79 # X32 processes use x32 vDSO to access 64bit kernel data.
89 VDSO_LDFLAGS_vdsox32.lds = -m elf32_x86_64 -soname linux-vdso.so.1 \
90 -z max-page-size=4096
92 # x32-rebranded versions
93 vobjx32s-y := $(vobjs-y:.o=-x32.o)
96 vobjx32s := $(addprefix $(obj)/, $(vobjx32s-y))
100 cmd_x32 = $(OBJCOPY) -O elf32-x86-64 $< $@
102 $(obj)/%-x32.o: $(obj)/%.o FORCE
105 targets += vdsox32.lds $(vobjx32s-y)
107 $(obj)/%.so: OBJCOPYFLAGS := -S --remove-section __ex_table
115 VDSO_LDFLAGS_vdso32.lds = -m elf_i386 -soname linux-gate.so.1
117 KBUILD_AFLAGS_32 := $(filter-out -m64,$(KBUILD_AFLAGS)) -DBUILD_VDSO
119 $(obj)/vdso32.so.dbg: asflags-$(CONFIG_X86_64) += -m32
121 KBUILD_CFLAGS_32 := $(filter-out -m64,$(KBUILD_CFLAGS))
122 KBUILD_CFLAGS_32 := $(filter-out -mcmodel=kernel,$(KBUILD_CFLAGS_32))
123 KBUILD_CFLAGS_32 := $(filter-out -fno-pic,$(KBUILD_CFLAGS_32))
124 KBUILD_CFLAGS_32 := $(filter-out -mfentry,$(KBUILD_CFLAGS_32))
125 KBUILD_CFLAGS_32 := $(filter-out $(RANDSTRUCT_CFLAGS),$(KBUILD_CFLAGS_32))
126 KBUILD_CFLAGS_32 := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS_32))
127 KBUILD_CFLAGS_32 := $(filter-out $(RETPOLINE_CFLAGS),$(KBUILD_CFLAGS_32))
128 KBUILD_CFLAGS_32 := $(filter-out $(CC_FLAGS_LTO),$(KBUILD_CFLAGS_32))
129 KBUILD_CFLAGS_32 := $(filter-out $(CC_FLAGS_CFI),$(KBUILD_CFLAGS_32))
130 KBUILD_CFLAGS_32 := $(filter-out $(PADDING_CFLAGS),$(KBUILD_CFLAGS_32))
131 KBUILD_CFLAGS_32 += -m32 -msoft-float -mregparm=0 -fpic
132 KBUILD_CFLAGS_32 += -fno-stack-protector
133 KBUILD_CFLAGS_32 += $(call cc-option, -foptimize-sibling-calls)
134 KBUILD_CFLAGS_32 += -fno-omit-frame-pointer
135 KBUILD_CFLAGS_32 += -DDISABLE_BRANCH_PROFILING
152 cmd_vdso = $(LD) -o $@ \
154 -T $(filter %.lds,$^) $(filter %.o,$^) && \
157 VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 \
158 $(call ld-option, --eh-frame-hdr) -Bsymbolic -z noexecstack