git: f652f0b5d810 - stable/13 - linux(4): Remove function prototypes from the vDSO.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Jun 2022 19:36:50 UTC
The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=f652f0b5d81048c2b4c4c91a82272d76a353931f commit f652f0b5d81048c2b4c4c91a82272d76a353931f Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2022-06-17 19:33:03 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2022-06-17 19:33:03 +0000 linux(4): Remove function prototypes from the vDSO. In preparation for vDSO code revision get rid of incomplete vDSO methods from locore, but leave .note.Linux section commented out. .note.Linux section is used by glibc rtld to get the kernel version, that saves one system call call. I'll try to implement it later, if figure out how to use it with jails. MFC after: 2 weeks (cherry picked from commit 815165be201e49d118e93dec6c257cd63b69d158) --- sys/amd64/linux/linux_locore.asm | 27 --------------------------- sys/arm64/linux/linux_locore.asm | 17 ----------------- 2 files changed, 44 deletions(-) diff --git a/sys/amd64/linux/linux_locore.asm b/sys/amd64/linux/linux_locore.asm index 1bcf05bc57dd..4ac44c35274b 100644 --- a/sys/amd64/linux/linux_locore.asm +++ b/sys/amd64/linux/linux_locore.asm @@ -32,33 +32,6 @@ NON_GPROF_ENTRY(linux_rt_sigcode) .endrtsigcode: 0: jmp 0b -NON_GPROF_ENTRY(__vdso_clock_gettime) - movq $LINUX_SYS_linux_clock_gettime,%rax - syscall - ret -.weak clock_gettime -.set clock_gettime, __vdso_clock_gettime - -NON_GPROF_ENTRY(__vdso_time) - movq $LINUX_SYS_linux_time,%rax - syscall - ret -.weak time -.set time, __vdso_time - -NON_GPROF_ENTRY(__vdso_gettimeofday) - movq $LINUX_SYS_gettimeofday,%rax - syscall - ret -.weak gettimeofday -.set gettimeofday, __vdso_gettimeofday - -NON_GPROF_ENTRY(__vdso_getcpu) - movq $-38,%rax /* not implemented */ - ret -.weak getcpu -.set getcpu, __vdso_getcpu - #if 0 .section .note.Linux, "a",@note .long 2f - 1f /* namesz */ diff --git a/sys/arm64/linux/linux_locore.asm b/sys/arm64/linux/linux_locore.asm index 5f0729b363e8..24a48d74f7b5 100644 --- a/sys/arm64/linux/linux_locore.asm +++ b/sys/arm64/linux/linux_locore.asm @@ -48,20 +48,3 @@ ENTRY(__kernel_rt_sigreturn) brk #0 /* LINUXTODO: implement __kernel_rt_sigreturn */ ret END(__kernel_rt_sigreturn) - -ENTRY(__kernel_gettimeofday) - ldr x8, =LINUX_SYS_gettimeofday - svc #0 - ret -END(__kernel_gettimeofday) - -ENTRY(__kernel_clock_gettime) - ldr x8, =LINUX_SYS_linux_clock_gettime - svc #0 - ret -END(__kernel_clock_gettime) - -ENTRY(__kernel_clock_getres) - brk #0 /* LINUXTODO: implement __kernel_clock_getres */ - ret -END(__kernel_clock_getres)