@@ -18,11 +18,6 @@ OBJECT_FILES_NON_STANDARD := y
18
18
# Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
19
19
KCOV_INSTRUMENT := n
20
20
21
- VDSO64-$(CONFIG_X86_64) := y
22
- VDSOX32-$(CONFIG_X86_X32_ABI) := y
23
- VDSO32-$(CONFIG_X86_32) := y
24
- VDSO32-$(CONFIG_IA32_EMULATION) := y
25
-
26
21
# files to link into the vdso
27
22
vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o
28
23
vobjs32-y := vdso32/note.o vdso32/system_call.o vdso32/sigreturn.o
@@ -38,31 +33,24 @@ KCSAN_SANITIZE_vma.o := y
38
33
OBJECT_FILES_NON_STANDARD_extable.o := n
39
34
OBJECT_FILES_NON_STANDARD_vdso-image-32.o := n
40
35
OBJECT_FILES_NON_STANDARD_vdso-image-64.o := n
41
- OBJECT_FILES_NON_STANDARD_vdso32-setup.o := n
42
36
OBJECT_FILES_NON_STANDARD_vma.o := n
43
37
44
38
# vDSO images to build
45
- vdso_img -$(VDSO64-y ) += 64
46
- vdso_img -$(VDSOX32-y) += x32
47
- vdso_img -$(VDSO32-y ) += 32
39
+ obj -$(CONFIG_X86_64 ) += vdso-image-64.o
40
+ obj -$(CONFIG_X86_X32_ABI) += vdso-image- x32.o
41
+ obj -$(CONFIG_COMPAT_32 ) += vdso-image-32.o vdso32-setup.o
48
42
49
- obj-$(VDSO32-y) += vdso32- setup.o
43
+ OBJECT_FILES_NON_STANDARD_vdso32- setup.o := n
50
44
51
- vobjs := $(foreach F, $(vobjs-y ) , $( obj ) /$F )
52
- vobjs32 := $(foreach F, $(vobjs32-y ) , $( obj ) /$F )
45
+ vobjs := $(addprefix $( obj ) /, $(vobjs-y ) )
46
+ vobjs32 := $(addprefix $( obj ) /, $(vobjs32-y ) )
53
47
54
48
$(obj ) /vdso.o : $(obj ) /vdso.so
55
49
56
50
targets += vdso.lds $(vobjs-y )
57
51
targets += vdso32/vdso32.lds $(vobjs32-y )
58
52
59
- # Build the vDSO image C files and link them in.
60
- vdso_img_objs := $(vdso_img-y:%=vdso-image-%.o )
61
- vdso_img_cfiles := $(vdso_img-y:%=vdso-image-%.c )
62
- vdso_img_sodbg := $(vdso_img-y:%=vdso%.so.dbg )
63
- obj-y += $(vdso_img_objs )
64
- targets += $(vdso_img_cfiles )
65
- targets += $(vdso_img_sodbg ) $(vdso_img-y:%=vdso%.so )
53
+ targets += $(foreach x, 64 x32 32, vdso-image-$(x ) .c vdso$(x ) .so vdso$(x ) .so.dbg)
66
54
67
55
CPPFLAGS_vdso.lds += -P -C
68
56
@@ -126,7 +114,7 @@ VDSO_LDFLAGS_vdsox32.lds = -m elf32_x86_64 -soname linux-vdso.so.1 \
126
114
vobjx32s-y := $(vobjs-y:.o=-x32.o )
127
115
128
116
# same thing, but in the output directory
129
- vobjx32s := $(foreach F, $(vobjx32s-y ) , $( obj ) /$F )
117
+ vobjx32s := $(addprefix $( obj ) /, $(vobjx32s-y ) )
130
118
131
119
# Convert 64bit object file to x32 for x32 vDSO.
132
120
quiet_cmd_x32 = X32 $@
@@ -193,5 +181,3 @@ GCOV_PROFILE := n
193
181
194
182
quiet_cmd_vdso_and_check = VDSO $@
195
183
cmd_vdso_and_check = $(cmd_vdso ) ; $(cmd_vdso_check )
196
-
197
- clean-files := vdso32.so vdso32.so.dbg vdso64* vdso-image-*.c vdsox32.so*
0 commit comments