History log of /openbsd-current/libexec/ld.so/aarch64/SYS.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.7 11-Dec-2023 deraadt

Make sure the syscall table entries are aligned on a 4-byte boundary.
Required for strict-alignment architectures and a good idea on others.
same as kettenis commit to libc


# 1.6 10-Dec-2023 deraadt

Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
with {uint offset, uint syscall#} entries in libc & ld.so.
In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit)
are duplicated because additional or inline uses occur (that situation
is handled elsewhere)
ok kettenis


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.5 18-Feb-2020 kettenis

Now that the kernel skips the two instructions immediately following
a syscall, replace the double nop with a dsb nsh; isb; sequence which
stops the CPU from speculating any further. This fix was suggested
by Anthony Steinhauser.

ok deraadt@


# 1.4 26-Jan-2020 kettenis

Insert two nop instructions after each svc #0 instruction in userland.
The will be replaced by a speculation barrier as soon as we teach the
kernel to skip over these two instructions when returning from a
system call.

ok patrick@, deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.3 01-Oct-2018 mortimer

Add retguard to arm64 ld.so.
ok kettenis@


# 1.2 15-May-2018 kettenis

On arm64 negate the whole 64-bit register otherwise system call wrappers
that return ssize_t will not return a negative value upon error.

Fixes dynamical loading of shared objects using dlopen().

ok guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.1 27-Aug-2017 deraadt

Replace heaps of hand-written syscall stubs with a simpler framework
which is largely MI.
ok visa kettenis


# 1.7 11-Dec-2023 deraadt

Make sure the syscall table entries are aligned on a 4-byte boundary.
Required for strict-alignment architectures and a good idea on others.
same as kettenis commit to libc


# 1.6 10-Dec-2023 deraadt

Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
with {uint offset, uint syscall#} entries in libc & ld.so.
In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit)
are duplicated because additional or inline uses occur (that situation
is handled elsewhere)
ok kettenis


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.5 18-Feb-2020 kettenis

Now that the kernel skips the two instructions immediately following
a syscall, replace the double nop with a dsb nsh; isb; sequence which
stops the CPU from speculating any further. This fix was suggested
by Anthony Steinhauser.

ok deraadt@


# 1.4 26-Jan-2020 kettenis

Insert two nop instructions after each svc #0 instruction in userland.
The will be replaced by a speculation barrier as soon as we teach the
kernel to skip over these two instructions when returning from a
system call.

ok patrick@, deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.3 01-Oct-2018 mortimer

Add retguard to arm64 ld.so.
ok kettenis@


# 1.2 15-May-2018 kettenis

On arm64 negate the whole 64-bit register otherwise system call wrappers
that return ssize_t will not return a negative value upon error.

Fixes dynamical loading of shared objects using dlopen().

ok guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.1 27-Aug-2017 deraadt

Replace heaps of hand-written syscall stubs with a simpler framework
which is largely MI.
ok visa kettenis


# 1.5 18-Feb-2020 kettenis

Now that the kernel skips the two instructions immediately following
a syscall, replace the double nop with a dsb nsh; isb; sequence which
stops the CPU from speculating any further. This fix was suggested
by Anthony Steinhauser.

ok deraadt@


# 1.4 26-Jan-2020 kettenis

Insert two nop instructions after each svc #0 instruction in userland.
The will be replaced by a speculation barrier as soon as we teach the
kernel to skip over these two instructions when returning from a
system call.

ok patrick@, deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.3 01-Oct-2018 mortimer

Add retguard to arm64 ld.so.
ok kettenis@


# 1.2 15-May-2018 kettenis

On arm64 negate the whole 64-bit register otherwise system call wrappers
that return ssize_t will not return a negative value upon error.

Fixes dynamical loading of shared objects using dlopen().

ok guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.1 27-Aug-2017 deraadt

Replace heaps of hand-written syscall stubs with a simpler framework
which is largely MI.
ok visa kettenis


# 1.4 26-Jan-2020 kettenis

Insert two nop instructions after each svc #0 instruction in userland.
The will be replaced by a speculation barrier as soon as we teach the
kernel to skip over these two instructions when returning from a
system call.

ok patrick@, deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.3 01-Oct-2018 mortimer

Add retguard to arm64 ld.so.
ok kettenis@


# 1.2 15-May-2018 kettenis

On arm64 negate the whole 64-bit register otherwise system call wrappers
that return ssize_t will not return a negative value upon error.

Fixes dynamical loading of shared objects using dlopen().

ok guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.1 27-Aug-2017 deraadt

Replace heaps of hand-written syscall stubs with a simpler framework
which is largely MI.
ok visa kettenis


# 1.3 01-Oct-2018 mortimer

Add retguard to arm64 ld.so.
ok kettenis@


# 1.2 15-May-2018 kettenis

On arm64 negate the whole 64-bit register otherwise system call wrappers
that return ssize_t will not return a negative value upon error.

Fixes dynamical loading of shared objects using dlopen().

ok guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.1 27-Aug-2017 deraadt

Replace heaps of hand-written syscall stubs with a simpler framework
which is largely MI.
ok visa kettenis


# 1.2 15-May-2018 kettenis

On arm64 negate the whole 64-bit register otherwise system call wrappers
that return ssize_t will not return a negative value upon error.

Fixes dynamical loading of shared objects using dlopen().

ok guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.1 27-Aug-2017 deraadt

Replace heaps of hand-written syscall stubs with a simpler framework
which is largely MI.
ok visa kettenis


Revision tags: OPENBSD_6_2_BASE
# 1.1 27-Aug-2017 deraadt

Replace heaps of hand-written syscall stubs with a simpler framework
which is largely MI.
ok visa kettenis