/Linux-v6.6/arch/mips/vdso/ |
D | Makefile | 8 include $(srctree)/lib/vdso/Makefile 10 obj-vdso-y := elf.o vgettimeofday.o sigreturn.o 13 ccflags-vdso := \ 24 ccflags-vdso += -DBUILD_VDSO32 31 cflags-vdso := $(ccflags-vdso) \ 37 aflags-vdso := $(ccflags-vdso) \ 53 obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y)) 57 ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \ 102 targets += $(obj-vdso-y) 103 targets += vdso.lds [all …]
|
D | genvdso.c | 191 static bool patch_vdso(const char *path, void *vdso) in patch_vdso() argument 194 return patch_vdso64(path, vdso); in patch_vdso() 196 return patch_vdso32(path, vdso); in patch_vdso() 199 static bool get_symbols(const char *path, void *vdso) in get_symbols() argument 202 return get_symbols64(path, vdso); in get_symbols() 204 return get_symbols32(path, vdso); in get_symbols() 210 void *dbg_vdso, *vdso; in main() local 231 vdso = map_vdso(vdso_path, &vdso_size); in main() 232 if (!vdso) in main() 238 if (!patch_vdso(vdso_path, vdso)) in main() [all …]
|
D | genvdso.h | 7 static inline bool FUNC(patch_vdso)(const char *path, void *vdso) in FUNC() 9 const ELF(Ehdr) *ehdr = vdso; in FUNC() 15 shdrs = vdso + FUNC(swap_uint)(ehdr->e_shoff); in FUNC() 20 shstrtab = vdso + FUNC(swap_uint)(shdr->sh_offset); in FUNC() 58 static inline bool FUNC(get_symbols)(const char *path, void *vdso) in FUNC() 60 const ELF(Ehdr) *ehdr = vdso; in FUNC() 69 shdrs = vdso + FUNC(swap_uint)(ehdr->e_shoff); in FUNC() 96 symtab = vdso + FUNC(swap_uint)(shdr->sh_offset); in FUNC() 102 strtab = vdso + FUNC(swap_uint)(shdr->sh_offset); in FUNC()
|
/Linux-v6.6/arch/loongarch/vdso/ |
D | Makefile | 8 include $(srctree)/lib/vdso/Makefile 10 obj-vdso-y := elf.o vgetcpu.o vgettimeofday.o sigreturn.o 13 ccflags-vdso := \ 21 cflags-vdso := $(ccflags-vdso) \ 28 aflags-vdso := $(ccflags-vdso) \ 36 ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \ 57 include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE 66 targets += $(obj-vdso-y) 67 targets += vdso.lds vdso.so.dbg vdso.so 69 obj-vdso := $(obj-vdso-y:%.o=$(obj)/%.o) [all …]
|
/Linux-v6.6/arch/riscv/kernel/vdso/ |
D | Makefile | 5 include $(srctree)/lib/vdso/Makefile 7 vdso-syms = rt_sigreturn 9 vdso-syms += vgettimeofday 11 vdso-syms += getcpu 12 vdso-syms += flush_icache 13 vdso-syms += hwprobe 14 vdso-syms += sys_hwprobe 17 obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o 29 targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.lds 30 obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) [all …]
|
/Linux-v6.6/arch/csky/kernel/vdso/ |
D | Makefile | 4 include $(srctree)/lib/vdso/Makefile 7 vdso-syms += rt_sigreturn 8 vdso-syms += vgettimeofday 11 obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o 20 targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.lds vdso-dummy.o 21 obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) 23 obj-y += vdso.o vdso-syms.o 31 $(obj)/vdso.o: $(obj)/vdso.so 34 $(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso) FORCE 36 SYSCFLAGS_vdso.so.dbg = -shared -s -Wl,-soname=linux-vdso.so.1 \ [all …]
|
/Linux-v6.6/arch/arm64/kernel/vdso32/ |
D | Makefile | 6 include $(srctree)/lib/vdso/Makefile 99 VDSO_LDFLAGS += -Bsymbolic --no-undefined -soname=linux-vdso.so.1 108 munge := ../../../arm/vdso/vdsomunge 111 c-obj-vdso := note.o 112 c-obj-vdso-gettimeofday := vgettimeofday.o 121 targets := $(c-obj-vdso) $(c-obj-vdso-gettimeofday) $(asm-obj-vdso) vdso.so vdso.so.dbg vdso.so.raw 122 c-obj-vdso := $(addprefix $(obj)/, $(c-obj-vdso)) 123 c-obj-vdso-gettimeofday := $(addprefix $(obj)/, $(c-obj-vdso-gettimeofday)) 124 asm-obj-vdso := $(addprefix $(obj)/, $(asm-obj-vdso)) 125 obj-vdso := $(c-obj-vdso) $(c-obj-vdso-gettimeofday) $(asm-obj-vdso) [all …]
|
D | .gitignore | 2 vdso.lds 3 vdso.so.raw
|
/Linux-v6.6/arch/arm/vdso/ |
D | Makefile | 4 include $(srctree)/lib/vdso/Makefile 8 obj-vdso := vgettimeofday.o datapage.o note.o 11 targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.so.raw vdso.lds 12 obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) 18 ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \ 23 obj-$(CONFIG_VDSO) += vdso.o 46 $(obj)/vdso.o : $(obj)/vdso.so 49 $(obj)/vdso.so.raw: $(obj)/vdso.lds $(obj-vdso) FORCE 52 $(obj)/vdso.so.dbg: $(obj)/vdso.so.raw $(obj)/vdsomunge FORCE 85 $(MODLIB)/vdso: FORCE [all …]
|
/Linux-v6.6/arch/x86/um/vdso/ |
D | Makefile | 14 vdso-install-$(VDSO64-y) += vdso.so 18 vobjs-y := vdso-note.o um_vdso.o 21 obj-$(VDSO64-y) += vdso.o vma.o 25 $(obj)/vdso.o: $(obj)/vdso.so 27 targets += vdso.so vdso.so.dbg vdso.lds $(vobjs-y) 31 VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \ 34 $(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so 36 $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE 37 $(call if_changed,vdso) 75 cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@ [all …]
|
/Linux-v6.6/arch/arm64/kernel/vdso/ |
D | Makefile | 10 include $(srctree)/lib/vdso/Makefile 12 obj-vdso := vgettimeofday.o note.o sigreturn.o 15 targets := $(obj-vdso) vdso.so vdso.so.dbg 16 obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) 24 ldflags-y := -shared -soname=linux-vdso.so.1 --hash-style=sysv \ 58 targets += vdso.lds 62 $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE 75 include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE 84 cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@ 86 vdso.so: $(obj)/vdso.so.dbg [all …]
|
/Linux-v6.6/tools/testing/selftests/vDSO/ |
D | vdso_test_correctness.c | 112 void *vdso = dlopen("linux-vdso.so.1", in fill_function_pointers() local 114 if (!vdso) in fill_function_pointers() 115 vdso = dlopen("linux-gate.so.1", in fill_function_pointers() 117 if (!vdso) { in fill_function_pointers() 122 vdso_getcpu = (getcpu_t)dlsym(vdso, name[4]); in fill_function_pointers() 128 vdso_clock_gettime = (vgettime_t)dlsym(vdso, name[1]); in fill_function_pointers() 133 vdso_clock_gettime64 = (vgettime64_t)dlsym(vdso, name[5]); in fill_function_pointers() 138 vdso_gettimeofday = (vgtod_t)dlsym(vdso, name[0]); in fill_function_pointers() 259 struct timespec start, vdso, end; in test_one_clock_gettime() local 266 vdso_ret = vdso_clock_gettime(clock, &vdso); in test_one_clock_gettime() [all …]
|
/Linux-v6.6/arch/sparc/vdso/ |
D | Makefile | 10 vobjs-y := vdso-note.o vclock_gettime.o 21 $(obj)/vdso.o: $(obj)/vdso.so 23 targets += vdso.lds $(vobjs-y) 26 vdso_img_objs := $(vdso_img-y:%=vdso-image-%.o) 27 vdso_img_cfiles := $(vdso_img-y:%=vdso-image-%.c) 28 vdso_img_sodbg := $(vdso_img-y:%=vdso%.so.dbg) 31 targets += $(vdso_img_sodbg) $(vdso_img-y:%=vdso%.so) 35 VDSO_LDFLAGS_vdso.lds = -m elf64_sparc -soname linux-vdso.so.1 --no-undefined \ 38 $(obj)/vdso64.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE 39 $(call if_changed,vdso) [all …]
|
/Linux-v6.6/arch/hexagon/kernel/ |
D | vdso.c | 22 struct hexagon_vdso *vdso; in vdso_init() local 28 vdso = vmap(&vdso_page, 1, 0, PAGE_KERNEL); in vdso_init() 29 if (!vdso) in vdso_init() 31 clear_page(vdso); in vdso_init() 37 vdso->rt_signal_trampoline[0] = __rt_sigtramp_template[0]; in vdso_init() 38 vdso->rt_signal_trampoline[1] = __rt_sigtramp_template[1]; in vdso_init() 40 vunmap(vdso); in vdso_init() 76 mm->context.vdso = (void *)vdso_base; in arch_setup_additional_pages() 85 if (vma->vm_mm && vma->vm_start == (long)vma->vm_mm->context.vdso) in arch_vma_name()
|
/Linux-v6.6/tools/testing/selftests/timens/ |
D | gettime_perf.c | 23 void *vdso = dlopen("linux-vdso.so.1", in fill_function_pointers() local 25 if (!vdso) in fill_function_pointers() 26 vdso = dlopen("linux-gate.so.1", in fill_function_pointers() 28 if (!vdso) in fill_function_pointers() 29 vdso = dlopen("linux-vdso32.so.1", in fill_function_pointers() 31 if (!vdso) in fill_function_pointers() 32 vdso = dlopen("linux-vdso64.so.1", in fill_function_pointers() 34 if (!vdso) { in fill_function_pointers() 39 vdso_clock_gettime = (vgettime_t)dlsym(vdso, "__vdso_clock_gettime"); in fill_function_pointers() 41 vdso_clock_gettime = (vgettime_t)dlsym(vdso, "__kernel_clock_gettime"); in fill_function_pointers()
|
/Linux-v6.6/arch/x86/entry/vdso/ |
D | Makefile | 7 include $(srctree)/lib/vdso/Makefile 27 vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o 50 $(obj)/vdso.o: $(obj)/vdso.so 52 targets += vdso.lds $(vobjs-y) 56 vdso_img_objs := $(vdso_img-y:%=vdso-image-%.o) 57 vdso_img_cfiles := $(vdso_img-y:%=vdso-image-%.c) 58 vdso_img_sodbg := $(vdso_img-y:%=vdso%.so.dbg) 61 targets += $(vdso_img_sodbg) $(vdso_img-y:%=vdso%.so) 65 VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \ 68 $(obj)/vdso64.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE [all …]
|
D | vma.c | 83 (unsigned long)current->mm->context.vdso; in vdso_fix_landing() 98 current->mm->context.vdso = (void __user *)new_vma->vm_start; in vdso_mremap() 268 current->mm->context.vdso = (void __user *)text_start; in map_vdso() 404 unsigned long vdso = (unsigned long) current->mm->context.vdso; in arch_syscall_is_vdso_sigreturn() local 407 if (regs->ip == vdso + image->sym_vdso32_sigreturn_landing_pad || in arch_syscall_is_vdso_sigreturn() 408 regs->ip == vdso + image->sym_vdso32_rt_sigreturn_landing_pad) in arch_syscall_is_vdso_sigreturn()
|
/Linux-v6.6/arch/csky/kernel/ |
D | vdso.c | 76 mm->context.vdso = (void *)vdso_base; in arch_setup_additional_pages() 84 mm->context.vdso = NULL; in arch_setup_additional_pages() 93 mm->context.vdso = NULL; in arch_setup_additional_pages() 101 if (vma->vm_mm && (vma->vm_start == (long)vma->vm_mm->context.vdso)) in arch_vma_name() 104 (long)vma->vm_mm->context.vdso + PAGE_SIZE)) in arch_vma_name()
|
/Linux-v6.6/tools/testing/selftests/x86/ |
D | vdso_restorer.c | 50 void *vdso = dlopen("linux-vdso.so.1", in main() local 52 if (!vdso) in main() 53 vdso = dlopen("linux-gate.so.1", in main() 55 if (!vdso) { in main()
|
D | test_vsyscall.c | 74 void *vdso = dlopen("linux-vdso.so.1", RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD); in init_vdso() local 75 if (!vdso) in init_vdso() 76 vdso = dlopen("linux-gate.so.1", RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD); in init_vdso() 77 if (!vdso) { in init_vdso() 82 vdso_gtod = (gtod_t)dlsym(vdso, "__vdso_gettimeofday"); in init_vdso() 86 vdso_gettime = (vgettime_t)dlsym(vdso, "__vdso_clock_gettime"); in init_vdso() 90 vdso_time = (time_func_t)dlsym(vdso, "__vdso_time"); in init_vdso() 94 vdso_getcpu = (getcpu_t)dlsym(vdso, "__vdso_getcpu"); in init_vdso()
|
/Linux-v6.6/arch/arm64/kernel/ |
D | Makefile | 32 io.o vdso.o hyp-stub.o psci.o cpu_ops.o \ 73 obj-y += vdso-wrap.o 79 $(obj)/vdso-wrap.o: $(obj)/vdso/vdso.so 80 $(obj)/vdso32-wrap.o: $(obj)/vdso32/vdso.so 91 subdir- += vdso vdso32
|
/Linux-v6.6/tools/perf/util/ |
D | vdso.c | 40 struct vdso_file vdso; member 50 .vdso = { in vdso_info__new() 73 char *vdso = NULL; in get_file() local 96 vdso = vdso_file->temp_file_name; in get_file() 103 vdso_file->found = (vdso != NULL); in get_file() 105 return vdso; in get_file() 115 if (vdso_info->vdso.found) in machine__exit_vdso() 116 unlink(vdso_info->vdso.temp_file_name); in machine__exit_vdso() 348 file = get_file(&vdso_info->vdso); in machine__findnew_vdso()
|
/Linux-v6.6/arch/loongarch/kernel/ |
D | vdso.c | 45 current->mm->context.vdso = (void *)(new_vma->vm_start); in vdso_mremap() 88 .vdso = vdso_start, 106 BUG_ON(!PAGE_ALIGNED(vdso_info.vdso)); in init_vdso() 112 pfn = __phys_to_pfn(__pa_symbol(vdso_info.vdso)); in init_vdso() 169 struct loongarch_vdso_info *info = current->thread.vdso; in arch_setup_additional_pages() 203 mm->context.vdso = (void *)vdso_addr; in arch_setup_additional_pages()
|
/Linux-v6.6/arch/arm64/ |
D | Makefile | 174 $(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso $@ 200 $(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso \ 201 include/generated/vdso-offsets.h arch/arm64/kernel/vdso/vdso.so 204 include/generated/vdso32-offsets.h arch/arm64/kernel/vdso32/vdso.so
|
/Linux-v6.6/arch/powerpc/perf/ |
D | callchain_32.c | 62 if (current->mm->context.vdso && in is_sigreturn_32_address() 63 nip == VDSO32_SYMBOL(current->mm->context.vdso, sigtramp32)) in is_sigreturn_32_address() 73 if (current->mm->context.vdso && in is_rt_sigreturn_32_address() 74 nip == VDSO32_SYMBOL(current->mm->context.vdso, sigtramp_rt32)) in is_rt_sigreturn_32_address()
|