Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) # List of files in the vdso
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) KCOV_INSTRUMENT := n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) ARCH_REL_TYPE_ABS := R_390_COPY|R_390_GLOB_DAT|R_390_JMP_SLOT|R_390_RELATIVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) ARCH_REL_TYPE_ABS += R_390_GOT|R_390_PLT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) include $(srctree)/lib/vdso/Makefile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) obj-vdso64 = vdso_user_wrapper.o note.o getcpu.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) obj-cvdso64 = vdso64_generic.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) CFLAGS_REMOVE_vdso64_generic.o = -pg $(CC_FLAGS_FTRACE) $(CC_FLAGS_EXPOLINE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) # Build rules
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) targets := $(obj-vdso64) $(obj-cvdso64) vdso64.so vdso64.so.dbg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) obj-cvdso64 := $(addprefix $(obj)/, $(obj-cvdso64))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) KBUILD_AFLAGS += -DBUILD_VDSO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) KBUILD_CFLAGS += -DBUILD_VDSO -DDISABLE_BRANCH_PROFILING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) KBUILD_AFLAGS_64 := $(filter-out -m64,$(KBUILD_AFLAGS))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) KBUILD_AFLAGS_64 += -m64 -s
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) KBUILD_CFLAGS_64 := $(filter-out -m64,$(KBUILD_CFLAGS))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) KBUILD_CFLAGS_64 += -m64 -fPIC -shared -fno-common -fno-builtin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) ldflags-y := -fPIC -shared -nostdlib -soname=linux-vdso64.so.1 \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	     --hash-style=both --build-id=sha1 -T
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) $(targets:%=$(obj)/%.dbg): KBUILD_CFLAGS = $(KBUILD_CFLAGS_64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) $(targets:%=$(obj)/%.dbg): KBUILD_AFLAGS = $(KBUILD_AFLAGS_64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) obj-y += vdso64_wrapper.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) targets += vdso64.lds
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) CPPFLAGS_vdso64.lds += -P -C -U$(ARCH)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) # Disable gcov profiling, ubsan and kasan for VDSO code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) GCOV_PROFILE := n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) UBSAN_SANITIZE := n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) KASAN_SANITIZE := n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) # Force dependency (incbin is bad)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) $(obj)/vdso64_wrapper.o : $(obj)/vdso64.so
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) # link rule for the .so file, .lds has to be first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) $(obj)/vdso64.so.dbg: $(src)/vdso64.lds $(obj-vdso64) $(obj-cvdso64) FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	$(call if_changed,ld)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) # strip rule for the .so file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) $(obj)/%.so: OBJCOPYFLAGS := -S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) $(obj)/%.so: $(obj)/%.so.dbg FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 	$(call if_changed,objcopy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) # assembly rules for the .S files
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) $(obj-vdso64): %.o: %.S FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 	$(call if_changed_dep,vdso64as)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) $(obj-cvdso64): %.o: %.c FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	$(call if_changed_dep,vdso64cc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) # actual build commands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) quiet_cmd_vdso64as = VDSO64A $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)       cmd_vdso64as = $(CC) $(a_flags) -c -o $@ $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) quiet_cmd_vdso64cc = VDSO64C $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)       cmd_vdso64cc = $(CC) $(c_flags) -c -o $@ $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) # install commands for the unstripped file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) quiet_cmd_vdso_install = INSTALL $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)       cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) vdso64.so: $(obj)/vdso64.so.dbg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 	@mkdir -p $(MODLIB)/vdso
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	$(call cmd,vdso_install)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) vdso_install: vdso64.so