forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/arm/vdso/Makefile
....@@ -1,21 +1,25 @@
11 # SPDX-License-Identifier: GPL-2.0
2
-hostprogs-y := vdsomunge
32
4
-obj-vdso := vgettimeofday.o datapage.o
3
+# Absolute relocation type $(ARCH_REL_TYPE_ABS) needs to be defined before
4
+# the inclusion of generic Makefile.
5
+ARCH_REL_TYPE_ABS := R_ARM_JUMP_SLOT|R_ARM_GLOB_DAT|R_ARM_ABS32
6
+include $(srctree)/lib/vdso/Makefile
7
+
8
+hostprogs := vdsomunge
9
+
10
+obj-vdso := vgettimeofday.o datapage.o note.o
511
612 # Build rules
713 targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.so.raw vdso.lds
814 obj-vdso := $(addprefix $(obj)/, $(obj-vdso))
915
1016 ccflags-y := -fPIC -fno-common -fno-builtin -fno-stack-protector
11
-ccflags-y += -DDISABLE_BRANCH_PROFILING
17
+ccflags-y += -DDISABLE_BRANCH_PROFILING -DBUILD_VDSO32
1218
1319 ldflags-$(CONFIG_CPU_ENDIAN_BE8) := --be8
1420 ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \
15
- -z max-page-size=4096 -z common-page-size=4096 \
16
- -nostdlib -shared $(ldflags-y) \
17
- $(call ld-option, --hash-style=sysv) \
18
- $(call ld-option, --build-id) \
21
+ -z max-page-size=4096 -nostdlib -shared $(ldflags-y) \
22
+ --hash-style=sysv --build-id=sha1 \
1923 -T
2024
2125 obj-$(CONFIG_VDSO) += vdso.o
....@@ -25,8 +29,12 @@
2529 CFLAGS_REMOVE_vdso.o = -pg
2630
2731 # Force -O2 to avoid libgcc dependencies
28
-CFLAGS_REMOVE_vgettimeofday.o = -pg -Os
32
+CFLAGS_REMOVE_vgettimeofday.o = -pg -Os $(GCC_PLUGINS_CFLAGS)
33
+ifeq ($(c-gettimeofday-y),)
2934 CFLAGS_vgettimeofday.o = -O2
35
+else
36
+CFLAGS_vgettimeofday.o = -O2 -include $(c-gettimeofday-y)
37
+endif
3038
3139 # Disable gcov profiling for VDSO code
3240 GCOV_PROFILE := n
....@@ -39,7 +47,7 @@
3947
4048 # Link rule for the .so file
4149 $(obj)/vdso.so.raw: $(obj)/vdso.lds $(obj-vdso) FORCE
42
- $(call if_changed,ld)
50
+ $(call if_changed,vdsold_and_vdso_check)
4351
4452 $(obj)/vdso.so.dbg: $(obj)/vdso.so.raw $(obj)/vdsomunge FORCE
4553 $(call if_changed,vdsomunge)
....@@ -49,6 +57,10 @@
4957 $(obj)/%.so: $(obj)/%.so.dbg FORCE
5058 $(call if_changed,objcopy)
5159
60
+# Actual build commands
61
+quiet_cmd_vdsold_and_vdso_check = LD $@
62
+ cmd_vdsold_and_vdso_check = $(cmd_ld); $(cmd_vdso_check)
63
+
5264 quiet_cmd_vdsomunge = MUNGE $@
5365 cmd_vdsomunge = $(objtree)/$(obj)/vdsomunge $< $@
5466