Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Mar 2024 01:06:50 GMT
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: cc4ffc978668 - main - libsys: don't try to expose yield
Message-ID:  <202403070106.42716oV3006659@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks:

URL: https://cgit.FreeBSD.org/src/commit/?id=cc4ffc978668cbc9cd58ae7c9e01025a276aa5fd

commit cc4ffc978668cbc9cd58ae7c9e01025a276aa5fd
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-03-07 01:01:36 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-03-07 01:01:36 +0000

    libsys: don't try to expose yield
    
    The undocumented yield system call has never been implemented via libc
    or libsys (except accidentally for <15 minutes in 1998 between commits
    abd529cebab9 and 0db2fac06ab7).  Avoid trying to export it now to avoid
    failures when linking with --no-undefined-version.
    
    Reviewed by:    kib
    Differential Revision:  https://reviews.freebsd.org/D44236
---
 lib/libsys/syscalls.map    | 2 --
 sys/tools/makesyscalls.lua | 4 ++++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map
index b79c512834e0..eeb75dc28a2c 100644
--- a/lib/libsys/syscalls.map
+++ b/lib/libsys/syscalls.map
@@ -353,8 +353,6 @@ FBSDprivate_1.0 {
 	__sys_aio_cancel;
 	_aio_error;
 	__sys_aio_error;
-	_yield;
-	__sys_yield;
 	_mlockall;
 	__sys_mlockall;
 	_munlockall;
diff --git a/sys/tools/makesyscalls.lua b/sys/tools/makesyscalls.lua
index 8784ff603e81..6f21079d0ebc 100644
--- a/sys/tools/makesyscalls.lua
+++ b/sys/tools/makesyscalls.lua
@@ -924,6 +924,10 @@ local function handle_noncompat(sysnum, thr_flag, flags, sysflags, rettype,
 		    config.syscallprefix, funcalias, sysnum))
 		write_line("sysmk", string.format(" \\\n\t%s.o",
 		    funcalias))
+		-- yield has never been exposed as a syscall
+		if funcalias == "yield" then
+			return
+		end
 		if funcalias ~= "exit" and funcalias ~= "vfork" then
 			write_line("libsysmap", string.format("\t_%s;\n",
 			    funcalias))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202403070106.42716oV3006659>