diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2021-11-22 22:36:56 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2021-11-22 22:36:56 +0000 |
commit | ed8a4423fba42f0aca5cfa3ce4aa1c763fdf578d (patch) | |
tree | e936c00037e2765f1191d6bab53bd52730f344cc /sys/tools | |
parent | 818aa9543de8c403f222d3174742186a36539fd4 (diff) | |
download | src-ed8a4423fba42f0aca5cfa3ce4aa1c763fdf578d.tar.gz src-ed8a4423fba42f0aca5cfa3ce4aa1c763fdf578d.zip |
makesyscalls: allow multiple expressions for each abi change
Limitations in lua patterns means we need to be able to match more
than one possible expression.
Reviewed by: kevans
Diffstat (limited to 'sys/tools')
-rw-r--r-- | sys/tools/makesyscalls.lua | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/sys/tools/makesyscalls.lua b/sys/tools/makesyscalls.lua index 1f646d64e2e4..622a6ad4b1dd 100644 --- a/sys/tools/makesyscalls.lua +++ b/sys/tools/makesyscalls.lua @@ -130,18 +130,24 @@ end local known_abi_flags = { long_size = { value = 0x00000001, - expr = "_Contains[a-z_]*_long_", + exprs = { + "_Contains[a-z_]*_long_", + }, }, time_t_size = { value = 0x00000002, - expr = "_Contains[a-z_]*_timet_", + exprs = { + "_Contains[a-z_]*_timet_", + }, }, pointer_args = { value = 0x00000004, }, pointer_size = { value = 0x00000008, - expr = "_Contains[a-z_]*_ptr_", + exprs = { + "_Contains[a-z_]*_ptr_", + }, }, } @@ -552,9 +558,13 @@ end local function check_abi_changes(arg) for k, v in pairs(known_abi_flags) do - local expr = v["expr"] - if abi_changes(k) and expr ~= nil and arg:find(expr) then - return true + local exprs = v["exprs"] + if abi_changes(k) and exprs ~= nil then + for _, e in pairs(exprs) do + if arg:find(e) then + return true + end + end end end |