mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-16 18:08:20 +00:00
Merge patch series "Prevent dynamic relocations in vDSO"
The first is a fix and the second a check to make sure we don't regress on the relocations, so I'm picking this up as a series to get the fix into fixes. * b4-shazam-merge: riscv: Check that vdso does not contain any dynamic relocations riscv: vdso: Prevent the compiler from inserting calls to memset() Link: https://lore.kernel.org/r/20241016083625.136311-1-alexghiti@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
This commit is contained in:
commit
ce16531d48
@ -18,6 +18,7 @@ obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o
|
|||||||
|
|
||||||
ccflags-y := -fno-stack-protector
|
ccflags-y := -fno-stack-protector
|
||||||
ccflags-y += -DDISABLE_BRANCH_PROFILING
|
ccflags-y += -DDISABLE_BRANCH_PROFILING
|
||||||
|
ccflags-y += -fno-builtin
|
||||||
|
|
||||||
ifneq ($(c-gettimeofday-y),)
|
ifneq ($(c-gettimeofday-y),)
|
||||||
CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)
|
CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)
|
||||||
@ -44,7 +45,7 @@ $(obj)/vdso.o: $(obj)/vdso.so
|
|||||||
|
|
||||||
# link rule for the .so file, .lds has to be first
|
# link rule for the .so file, .lds has to be first
|
||||||
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
|
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
|
||||||
$(call if_changed,vdsold)
|
$(call if_changed,vdsold_and_check)
|
||||||
LDFLAGS_vdso.so.dbg = -shared -soname=linux-vdso.so.1 \
|
LDFLAGS_vdso.so.dbg = -shared -soname=linux-vdso.so.1 \
|
||||||
--build-id=sha1 --hash-style=both --eh-frame-hdr
|
--build-id=sha1 --hash-style=both --eh-frame-hdr
|
||||||
|
|
||||||
@ -64,7 +65,8 @@ include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
|
|||||||
# actual build commands
|
# actual build commands
|
||||||
# The DSO images are built using a special linker script
|
# The DSO images are built using a special linker script
|
||||||
# Make sure only to export the intended __vdso_xxx symbol offsets.
|
# Make sure only to export the intended __vdso_xxx symbol offsets.
|
||||||
quiet_cmd_vdsold = VDSOLD $@
|
quiet_cmd_vdsold_and_check = VDSOLD $@
|
||||||
cmd_vdsold = $(LD) $(ld_flags) -T $(filter-out FORCE,$^) -o $@.tmp && \
|
cmd_vdsold_and_check = $(LD) $(ld_flags) -T $(filter-out FORCE,$^) -o $@.tmp && \
|
||||||
$(OBJCOPY) $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@ && \
|
$(OBJCOPY) $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@ && \
|
||||||
rm $@.tmp
|
rm $@.tmp && \
|
||||||
|
$(cmd_vdso_check)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user