| /linux/arch/mips/vdso/ |
| A D | Makefile | 28 cflags-vdso := $(ccflags-vdso) \ 34 aflags-vdso := $(ccflags-vdso) \ 97 targets += vdso.so.dbg.raw vdso.so.raw 98 targets += vdso.so.dbg vdso.so 101 obj-vdso := $(obj-vdso-y:%.o=$(obj)/%.o) 108 $(obj)/vdso.so.dbg.raw: $(obj)/vdso.lds $(obj-vdso) FORCE 111 $(obj)/vdso-image.c: $(obj)/vdso.so.dbg.raw $(obj)/vdso.so.raw \ 125 targets += vdso-o32.so.dbg vdso-o32.so 146 $(obj)/vdso-o32.so.dbg.raw: $(obj)/vdso-o32.lds $(obj-vdso-o32) FORCE 165 targets += vdso-n32.so.dbg vdso-n32.so [all …]
|
| A 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 …]
|
| A 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/arch/loongarch/vdso/ |
| A D | Makefile | 11 ccflags-vdso := \ 19 cflags-vdso := $(ccflags-vdso) \ 26 aflags-vdso := $(ccflags-vdso) \ 57 include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE 67 targets += vdso.lds vdso.so.dbg vdso.so 69 obj-vdso := $(obj-vdso-y:%.o=$(obj)/%.o) 71 $(obj-vdso): KBUILD_CFLAGS := $(cflags-vdso) $(native-abi) 72 $(obj-vdso): KBUILD_AFLAGS := $(aflags-vdso) $(native-abi) 76 $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE 80 $(obj)/vdso.so: $(obj)/vdso.so.dbg FORCE [all …]
|
| /linux/arch/riscv/kernel/vdso/ |
| A D | Makefile | 7 vdso-syms = rt_sigreturn 11 vdso-syms += getcpu 13 vdso-syms += hwprobe 14 vdso-syms += sys_hwprobe 17 obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o 30 targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.lds 31 obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) 33 obj-y += vdso.o 44 $(obj)/vdso.o: $(obj)/vdso.so 47 $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE [all …]
|
| /linux/arch/csky/kernel/vdso/ |
| A 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 27 $(obj)/vdso.o: $(obj)/vdso.so 30 $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE 32 SYSCFLAGS_vdso.so.dbg = -shared -s -Wl,-soname=linux-vdso.so.1 \ [all …]
|
| /linux/arch/arm/vdso/ |
| A 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 37 $(obj)/vdso.o : $(obj)/vdso.so 40 $(obj)/vdso.so.raw: $(obj)/vdso.lds $(obj-vdso) FORCE 43 $(obj)/vdso.so.dbg: $(obj)/vdso.so.raw $(obj)/vdsomunge FORCE
|
| /linux/arch/arm64/kernel/vdso32/ |
| A D | Makefile | 6 include $(srctree)/lib/vdso/Makefile 111 c-obj-vdso := note.o 121 targets := $(c-obj-vdso) $(c-obj-vdso-gettimeofday) $(asm-obj-vdso) vdso.so vdso32.so.dbg vdso.so.r… 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) 127 targets += vdso.lds 139 $(obj)/vdso.so.raw: $(obj)/vdso.lds $(obj-vdso) FORCE 143 $(c-obj-vdso): %.o: %.c FORCE [all …]
|
| /linux/tools/testing/selftests/vDSO/ |
| A D | vdso_test_correctness.c | 115 if (!vdso) in fill_function_pointers() 116 vdso = dlopen("linux-gate.so.1", in fill_function_pointers() 118 if (!vdso) in fill_function_pointers() 121 if (!vdso) in fill_function_pointers() 124 if (!vdso) { in fill_function_pointers() 298 (unsigned long long)vdso.tv_sec, vdso.tv_nsec, in test_one_clock_gettime() 301 if (!ts_leq(&start, &vdso) || !ts_leq(&vdso, &end)) { in test_one_clock_gettime() 360 (unsigned long long)vdso.tv_sec, vdso.tv_nsec, in test_one_clock_gettime64() 363 if (!ts64_leq(&start, &vdso) || !ts64_leq(&vdso, &end)) { in test_one_clock_gettime64() 417 (unsigned long long)vdso.tv_sec, vdso.tv_usec, in test_gettimeofday() [all …]
|
| /linux/arch/x86/um/vdso/ |
| A D | Makefile | 8 vdso-install-$(VDSO64-y) += vdso.so 12 vobjs-y := vdso-note.o um_vdso.o 15 obj-$(VDSO64-y) += vdso.o vma.o 19 $(obj)/vdso.o: $(obj)/vdso.so 21 targets += vdso.so vdso.so.dbg vdso.lds $(vobjs-y) 25 VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \ 28 $(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so 30 $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE 31 $(call if_changed,vdso)
|
| /linux/arch/arm64/kernel/vdso/ |
| A D | Makefile | 10 include $(srctree)/lib/vdso/Makefile 12 obj-vdso := vgettimeofday.o note.o sigreturn.o vgetrandom.o vgetrandom-chacha.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 \ 59 targets += vdso.lds 63 $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE 76 include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
|
| /linux/arch/sparc/vdso/ |
| A D | Makefile | 7 vobjs-y := vdso-note.o vclock_gettime.o 13 obj-$(CONFIG_SPARC64) += vdso-image-64.o 14 obj-$(CONFIG_COMPAT) += vdso-image-32.o 18 $(obj)/vdso.o: $(obj)/vdso.so 20 targets += vdso.lds $(vobjs-y) 21 targets += $(foreach x, 32 64, vdso-image-$(x).c vdso$(x).so vdso$(x).so.dbg) 29 $(call if_changed,vdso) 37 $(obj)/vdso-image-%.c: $(obj)/vdso%.so.dbg $(obj)/vdso%.so $(obj)/vdso2c FORCE 71 targets += vdso32/vdso-note.o 95 $(obj)/vdso32/vdso-note.o [all …]
|
| /linux/tools/testing/selftests/timens/ |
| A 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/arch/hexagon/kernel/ |
| A D | vdso.c | 23 struct hexagon_vdso *vdso; in vdso_init() local 29 vdso = vmap(&vdso_page, 1, 0, PAGE_KERNEL); in vdso_init() 30 if (!vdso) in vdso_init() 32 clear_page(vdso); in vdso_init() 38 vdso->rt_signal_trampoline[0] = __rt_sigtramp_template[0]; in vdso_init() 39 vdso->rt_signal_trampoline[1] = __rt_sigtramp_template[1]; in vdso_init() 41 vunmap(vdso); in vdso_init() 83 mm->context.vdso = (void *)vdso_base; in arch_setup_additional_pages() 92 if (vma->vm_mm && vma->vm_start == (long)vma->vm_mm->context.vdso) in arch_vma_name()
|
| /linux/arch/x86/entry/vdso/ |
| A D | Makefile | 7 include $(srctree)/lib/vdso/Makefile 10 vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vgetrandom.o vgetrandom-chacha.o 19 obj-$(CONFIG_X86_64) += vdso-image-64.o 20 obj-$(CONFIG_X86_X32_ABI) += vdso-image-x32.o 21 obj-$(CONFIG_COMPAT_32) += vdso-image-32.o vdso32-setup.o 26 $(obj)/vdso.o: $(obj)/vdso.so 28 targets += vdso.lds $(vobjs-y) 31 targets += $(foreach x, 64 x32 32, vdso-image-$(x).c vdso$(x).so vdso$(x).so.dbg) 38 $(obj)/vdso64.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE 47 $(obj)/vdso-image-%.c: $(obj)/vdso%.so.dbg $(obj)/vdso%.so $(obj)/vdso2c FORCE [all …]
|
| A D | vma.c | 86 (unsigned long)current->mm->context.vdso; in vdso_fix_landing() 101 current->mm->context.vdso = (void __user *)new_vma->vm_start; in vdso_mremap() 271 current->mm->context.vdso = (void __user *)text_start; in map_vdso() 354 unsigned long vdso = (unsigned long) current->mm->context.vdso; in arch_syscall_is_vdso_sigreturn() local 357 if (regs->ip == vdso + image->sym_vdso32_sigreturn_landing_pad || in arch_syscall_is_vdso_sigreturn() 358 regs->ip == vdso + image->sym_vdso32_rt_sigreturn_landing_pad) in arch_syscall_is_vdso_sigreturn()
|
| /linux/arch/arm64/kernel/ |
| A D | Makefile | 32 io.o vdso.o hyp-stub.o psci.o cpu_ops.o \ 71 obj-y += vdso-wrap.o 75 $(obj)/vdso-wrap.o: $(obj)/vdso/vdso.so 76 $(obj)/vdso32-wrap.o: $(obj)/vdso32/vdso.so 87 subdir- += vdso vdso32
|
| /linux/tools/testing/selftests/x86/ |
| A 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()
|
| A D | test_vsyscall.c | 69 void *vdso = dlopen("linux-vdso.so.1", RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD); in init_vdso() local 70 if (!vdso) in init_vdso() 71 vdso = dlopen("linux-gate.so.1", RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD); in init_vdso() 72 if (!vdso) { in init_vdso() 77 vdso_gtod = (gtod_t)dlsym(vdso, "__vdso_gettimeofday"); in init_vdso() 81 vdso_gettime = (vgettime_t)dlsym(vdso, "__vdso_clock_gettime"); in init_vdso() 85 vdso_time = (time_func_t)dlsym(vdso, "__vdso_time"); in init_vdso() 89 vdso_getcpu = (getcpu_t)dlsym(vdso, "__vdso_getcpu"); in init_vdso()
|
| /linux/arch/csky/kernel/ |
| A D | vdso.c | 73 mm->context.vdso = (void *)vdso_base; in arch_setup_additional_pages() 83 mm->context.vdso = NULL; in arch_setup_additional_pages() 94 mm->context.vdso = NULL; in arch_setup_additional_pages() 105 if (vma->vm_mm && (vma->vm_start == (long)vma->vm_mm->context.vdso)) in arch_vma_name() 108 (long)vma->vm_mm->context.vdso + PAGE_SIZE)) in arch_vma_name()
|
| /linux/tools/perf/util/ |
| A 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() 357 file = get_file(&vdso_info->vdso); in machine__findnew_vdso()
|
| /linux/arch/arm64/ |
| A D | Makefile | 220 $(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso \ 221 include/generated/vdso-offsets.h arch/arm64/kernel/vdso/vdso.so 224 arch/arm64/kernel/vdso32/vdso.so 228 vdso-install-y += arch/arm64/kernel/vdso/vdso.so.dbg 229 vdso-install-$(CONFIG_COMPAT_VDSO) += arch/arm64/kernel/vdso32/vdso32.so.dbg
|
| /linux/arch/loongarch/kernel/ |
| A D | vdso.c | 43 current->mm->context.vdso = (void *)(new_vma->vm_start); in vdso_mremap() 86 .vdso = vdso_start, 102 BUG_ON(!PAGE_ALIGNED(vdso_info.vdso)); in init_vdso() 111 pfn = __phys_to_pfn(__pa_symbol(vdso_info.vdso)); in init_vdso() 168 struct loongarch_vdso_info *info = current->thread.vdso; in arch_setup_additional_pages() 202 mm->context.vdso = (void *)vdso_addr; in arch_setup_additional_pages()
|
| /linux/arch/sparc/ |
| A D | Makefile | 79 vdso-install-$(CONFIG_SPARC64) += arch/sparc/vdso/vdso64.so.dbg 80 vdso-install-$(CONFIG_COMPAT) += arch/sparc/vdso/vdso32.so.dbg
|
| /linux/arch/powerpc/kernel/ |
| A D | vdso.c | 69 current->mm->context.vdso = (void __user *)new_vma->vm_start; in vdso_mremap() 93 if (vma->vm_start != (unsigned long)mm->context.vdso) in vdso_close() 96 mm->context.vdso = NULL; in vdso_close() 242 mm->context.vdso = (void __user *)vdso_base + vvar_size; in __arch_setup_additional_pages() 252 mm->context.vdso = NULL; in arch_setup_additional_pages() 264 void *__start = (void *)VDSO##bits##_SYMBOL(&vdso##bits##_start, sec##_start); \ 265 void *__end = (void *)VDSO##bits##_SYMBOL(&vdso##bits##_start, sec##_end); \
|