aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2023-11-21 16:55:06 +0000
committerBrooks Davis <brooks@FreeBSD.org>2024-02-05 20:34:56 +0000
commitb71defdbd8715c1a778ebf8195e41b1c6db90d6c (patch)
tree0d83d2ec1178a87ad35256e93b3a1db8426380e4 /sys
parent10f1b536ad71fddc725da58d9e30a42fa66d183c (diff)
Diffstat (limited to 'sys')
-rw-r--r--sys/tools/makesyscalls.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/tools/makesyscalls.lua b/sys/tools/makesyscalls.lua
index 393fe57713aa..1c80aa44c1a7 100644
--- a/sys/tools/makesyscalls.lua
+++ b/sys/tools/makesyscalls.lua
@@ -42,6 +42,7 @@ local generated_tag = "@" .. "generated"
local config = {
os_id_keyword = "FreeBSD", -- obsolete, ignored on input, not generated
abi_func_prefix = "",
+ libsysmap = "/dev/null",
sysnames = "syscalls.c",
sysproto = "../sys/sysproto.h",
sysproto_h = "_SYS_SYSPROTO_H_",
@@ -85,6 +86,7 @@ local output_files = {
"sysnames",
"syshdr",
"sysmk",
+ "libsysmap",
"syssw",
"systrace",
"sysproto",
@@ -922,6 +924,12 @@ local function handle_noncompat(sysnum, thr_flag, flags, sysflags, rettype,
config.syscallprefix, funcalias, sysnum))
write_line("sysmk", string.format(" \\\n\t%s.o",
funcalias))
+ if funcalias ~= "exit" and funcalias ~= "getlogin" and funcalias ~= "vfork" then
+ write_line("libsysmap", string.format("\t_%s;\n",
+ funcalias))
+ end
+ write_line("libsysmap", string.format("\t__sys_%s;\n",
+ funcalias))
end
end
@@ -1485,6 +1493,13 @@ write_line("sysmk", string.format([[# FreeBSD system call object files.
# DO NOT EDIT-- this file is automatically %s.
MIASM = ]], generated_tag))
+write_line("libsysmap", string.format([[/*
+ * FreeBSD system call symbols.
+ * DO NOT EDIT-- this file is automatically %s.
+ */
+FBSDprivate_1.0 {
+]], generated_tag))
+
write_line("systrace", string.format([[/*
* System call argument to DTrace register array converstion.
*
@@ -1548,6 +1563,7 @@ write_line("sysprotoend", string.format([[
]], config.sysproto_h))
write_line("sysmk", "\n")
+write_line("libsysmap", "};\n")
write_line("sysent", "};\n")
write_line("sysnames", "};\n")
-- maxsyscall is the highest seen; MAXSYSCALL should be one higher