Skip to content

Perform ioctl system calls through x/sys/unix#232

Open
jrick wants to merge 1 commit into
chzyer:mainfrom
jrick:openbsd_syscall
Open

Perform ioctl system calls through x/sys/unix#232
jrick wants to merge 1 commit into
chzyer:mainfrom
jrick:openbsd_syscall

Conversation

@jrick

@jrick jrick commented Oct 24, 2023

Copy link
Copy Markdown

OpenBSD is removing the syscall(2) interface soon and ioctl operations using syscall.Syscall6 will fail to link at runtime:

$ go test
tmpdir: /tmp
readline.test:/tmp/go-build2875288623/b001/readline.test: undefined symbol 'syscall' ld.so: readline.test: lazy binding failed!
signal: killed
FAIL	github.com/chzyer/readline	0.008s

These calls must instead be performed using the golang.org/x/sys/unix package, which links to the ioctl(2) libc stub instead of the generic syscall(2) interface.

OpenBSD is removing the syscall(2) interface soon and ioctl operations using
syscall.Syscall6 will fail to link at runtime:

$ go test
tmpdir: /tmp
readline.test:/tmp/go-build2875288623/b001/readline.test: undefined symbol 'syscall'
ld.so: readline.test: lazy binding failed!
signal: killed
FAIL	github.com/chzyer/readline	0.008s

These calls must instead be performed using the golang.org/x/sys/unix package,
which links to the ioctl(2) libc stub instead of the generic syscall(2)
interface.
@wader

wader commented Oct 24, 2023

Copy link
Copy Markdown
Collaborator

@slingamn something for https://github.com/ergochat/readline?

@jrick

jrick commented Oct 25, 2023

Copy link
Copy Markdown
Author

@wader @slingamn that fork works correctly already.

@wader

wader commented Oct 25, 2023

Copy link
Copy Markdown
Collaborator

@jrick 👍 aha great, was fixed in some other way? code seems quite different

@jrick

jrick commented Oct 25, 2023

Copy link
Copy Markdown
Author

it already performs ioctls through a recent enough version of golang.org/x/sys/unix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants