jsg [Thu, 2 Feb 2023 03:51:52 +0000 (03:51 +0000)]
drm/amd/display: fix issues with driver unload
From Hamza Mahfooz
b0b029ee04ef3dd6c7da0922204fb9e47a0b9010 in linux-6.1.y/6.1.9
e433adc60f7f847e734c56246b09291532f29b6d in mainline linux
jsg [Thu, 2 Feb 2023 03:49:58 +0000 (03:49 +0000)]
drm/i915/selftests: Unwind hugepages to drop wakeref on error
From Chris Wilson
d5fb544b4ce56316bdfd542511dcd34c5798c3b8 in linux-6.1.y/6.1.9
93eea624526fc7d070cdae463408665824075f54 in mainline linux
deraadt [Thu, 2 Feb 2023 00:44:08 +0000 (00:44 +0000)]
unify spacing for LOAD FLAGS lines
deraadt [Thu, 2 Feb 2023 00:43:08 +0000 (00:43 +0000)]
i386 and alpha ld.so also work with X-only text LOAD. There is no
hardware enforcement for this, but uvm can some of it's own tricks
on occasion.
krw [Thu, 2 Feb 2023 00:20:49 +0000 (00:20 +0000)]
Restore incorrectly deleted test for default partitions intruding
into the OpenBSD area that is about to be auto-allocated.
Fixes resizing partitions on an auto-allocated disk that had a
boot partition.
Found by dv@
miod [Wed, 1 Feb 2023 20:56:23 +0000 (20:56 +0000)]
Despite only testing the low-order bit of its operand, the blbc and blbs
instructions always fetch a 32-bit word when operand is a memory address.
This works unless the address is within the last 3 bytes of a page, with
the next page being invalid, something which can happen with small malloc'ed
structures (I'm looking at you, perl).
Work around the problem by requiring a register operand in all cases; the
register load will be a zero-extension load of the right width.
This is my entry into the "fix a 30-year old bug" contest of 2023.
miod [Wed, 1 Feb 2023 20:45:04 +0000 (20:45 +0000)]
Move all data blocks from .text to .rodata and cleanup up and homogeneize code
responsible from getting the proper address of those blocks.
ok tb@ jsing@
miod [Wed, 1 Feb 2023 20:34:10 +0000 (20:34 +0000)]
Backport gnu/gcc/gcc/c-typeck.c r1.3 to the gcc 3 code base:
Adjust how gcc3 handles the "missing braces around initializer" warning.
In c99 any value can be initalised using a { 0 } constructor independent
of the type. Now if a struct's first member is another struct then gcc4
issues the above warning but it should not do that.
Move the warning check from push_init_level() to pop_init_level() and
check if either { 0 } or { } was used. If additional implicit braces
were added surpress the warning.
Inspired by gcc PR#64709
light testing by me, serious testing by aoyama@
gkoehler [Wed, 1 Feb 2023 19:02:50 +0000 (19:02 +0000)]
For xonly, move sha512-ppc.pl's table from text to rodata
OpenBSD/macppc will enforce xonly on PowerPC G5, then libcrypto's
sha256 would crash by SIGSEGV, because it can't read text.
Use ELF relocations "@ha" and "@l" to find the table in rodata. This
might break the PowerPC asm on a not-ELF platform (like AIX or Mac OS)
if someone would try it there.
ok kettenis@ deraadt@
tb [Wed, 1 Feb 2023 16:03:47 +0000 (16:03 +0000)]
Don't run session tests with openssl 3.0 - these tests aren't TLSv1.3 ready
tb [Wed, 1 Feb 2023 15:59:50 +0000 (15:59 +0000)]
Hopefully the last one.
tb [Wed, 1 Feb 2023 15:58:20 +0000 (15:58 +0000)]
One more openssl 1.0.2 thing missed.
tb [Wed, 1 Feb 2023 15:38:57 +0000 (15:38 +0000)]
Switch from eopenssl to eopenssl30. Missed in both previous commits
for some reason.
job [Wed, 1 Feb 2023 15:37:34 +0000 (15:37 +0000)]
Fix spelling
tb [Wed, 1 Feb 2023 14:39:09 +0000 (14:39 +0000)]
Retire OpenSSL 1.0.2 interop
Now that the OpenSSL 1.0.2 port is gone, there's no need to keep the
interop tests anymore. anton's and bluhm's regress tests will switch
to testing interoperability with OpenSSL 3.0.
jsing [Wed, 1 Feb 2023 06:23:13 +0000 (06:23 +0000)]
Pull the MONT_WORD define to the top.
Reordering functions with defines hiding in the middle leads to fun
outcomes... and apparently the non-MONT_WORD code is broken, at least on
aarch64.
jsing [Wed, 1 Feb 2023 04:48:08 +0000 (04:48 +0000)]
Move BN_MONT_CTX_* functions to the top of the file.
No functional change.
bluhm [Wed, 1 Feb 2023 00:03:38 +0000 (00:03 +0000)]
Print the pid in lastcomm(1) output for post mortem analysis. Put
it in brackets after the command name, like syslogd does it in log
files. A while ago the process id was added to process accounting
in the kernel, so no ABI break this time.
OK deraadt@
ratchov [Tue, 31 Jan 2023 21:38:01 +0000 (21:38 +0000)]
Fix a typo in a comment and spacing
from weerd@
tb [Tue, 31 Jan 2023 20:37:16 +0000 (20:37 +0000)]
Remove "deletetunnel" command (marked as "remove during 6.4-current").
The "-tunnel" command of course remains.
cheloha [Tue, 31 Jan 2023 19:11:47 +0000 (19:11 +0000)]
amd64: lapic_timer_trigger: disable interrupts while configuring timer
lapic_timer_oneshot() does three writes. We need to disable
interrupts to ensure the timer lands in a valid state.
Link: https://marc.info/?l=openbsd-tech&m=167482851403841&w=2
ok mlarkin@
claudio [Tue, 31 Jan 2023 17:14:27 +0000 (17:14 +0000)]
Not only reset the connection when a fatal error is received (or sent)
but also reset the cache and start totally fresh. The RFC is exceptionally
vague about error handling but in most cases the cache state is enough
off after an error that a fresh restart makes most sense.
With and OK job@
deraadt [Tue, 31 Jan 2023 15:18:51 +0000 (15:18 +0000)]
On systems without xonly mmu hardware-enforcement, we can still mitigate
against classic BROP with a range-checking wrapper in front of copyin() and
copyinstr() which ensures the userland source doesn't overlap the main program
text, ld.so text, signal tramp text (it's mapping is hard to distinguish
so it comes along for the ride), or libc.so text. ld.so tells the kernel
libc.so text range with msyscall(2). The range checking for 2-4 elements is
done without locking (because all 4 ranges are immutable!) and is inexpensive.
write(sock, &open, 400) now fails with EFAULT. No programs have been
discovered which require reading their own text segments with a system call.
On a machine without mmu enforcement, a test program reports the following:
userland kernel
ld.so readable unreadable
mmap xz unreadable unreadable
mmap x readable readable
mmap nrx readable readable
mmap nwx readable readable
mmap xnwx readable readable
main readable unreadable
libc unmapped? readable unreadable
libc mapped readable unreadable
ok kettenis, additional help from miod
job [Tue, 31 Jan 2023 14:38:43 +0000 (14:38 +0000)]
Fix RTR error reporting: length fields in Error Reports are 32 bits
OK claudio@
job [Tue, 31 Jan 2023 14:32:43 +0000 (14:32 +0000)]
Improve whitespace alignment of RTR error reports
OK claudio@
espie [Tue, 31 Jan 2023 13:53:49 +0000 (13:53 +0000)]
typo, fix variable name
mvs [Tue, 31 Jan 2023 13:41:54 +0000 (13:41 +0000)]
Remove the last ones route lock references from comments.
No functional change.
mvs [Tue, 31 Jan 2023 11:47:35 +0000 (11:47 +0000)]
Route lock was reverted, adjust forgotten commentary.
No functional changes.
jsing [Tue, 31 Jan 2023 06:17:10 +0000 (06:17 +0000)]
Remove the now empty bn_asm.c.
This rather misnamed file (bn_asm.c) previously contained the C code that
was needed to build libcrypto bignum on platforms that did not have
assembly implementations of the functions it contained.
jsing [Tue, 31 Jan 2023 06:08:23 +0000 (06:08 +0000)]
Simplify bn_div_3_words().
Make use of bn_umul_hilo() and remove the tangle of preprocessor directives
that implement different code paths depending on what defines exist.
ok tb@
jsing [Tue, 31 Jan 2023 05:57:08 +0000 (05:57 +0000)]
Provide inline assembly bn_umul_hilo() for alpha/powerpc64/riscv64.
These should work, but are currently untested and disabled.
ok tb@
jsing [Tue, 31 Jan 2023 05:53:49 +0000 (05:53 +0000)]
Provide inline assembly versions of bn_umul_hilo() for aarch64/amd64/i386.
ok tb@
jsing [Tue, 31 Jan 2023 05:48:39 +0000 (05:48 +0000)]
Provide bn_umul_hilo().
The bignum code needs to be able to multiply two words, producing a
double word result. Some architectures do not have native support for
this, hence a pure C version is required. bn_umul_hilo() provides this
functionality.
There are currently two implementations, both of which are branch free.
The first uses bitwise operations for the carry, while the second uses
accumulators. The accumulator version uses fewer instructions, however
requires more variables/registers and seems to be slower, at least on
amd64/i386. The accumulator version may be faster on architectures that
have more registers available. Further testing can be performed and one
of the two implementations can be removed at a later date.
ok tb@
jsing [Tue, 31 Jan 2023 05:16:52 +0000 (05:16 +0000)]
Correctly detect b < a in BN_usub().
BN_usub() requires that a >= b and should return an error in the case that
b < a. This is currently only detected by checking the number of words in
a versus b - if they have the same number of words, the top word is not
checked and b < a, which then succeeds and produces an incorrect result.
Fix this by checking for the case where a and b have an equal number of
words, yet there is a borrow returned from bn_sub_words().
ok miod@ tb@
jsing [Tue, 31 Jan 2023 05:13:28 +0000 (05:13 +0000)]
Add bn/arch/${MACHINE_CPU} to the include path.
This will be needed once headers pull in bn_arch.h.
jsing [Tue, 31 Jan 2023 05:12:16 +0000 (05:12 +0000)]
Add more regress tests for BN_usub().
This adds more tests for BN_usub(), particularly where b > a, which should
be an error condition. One of these currently succeeds and produces
incorrect results.
jsing [Tue, 31 Jan 2023 05:09:34 +0000 (05:09 +0000)]
Remove sparc related files from libcrypto.
The sparc platform got retired a while back, however some parts remained
hiding in libcrypto. Mop these up (along with the bn_arch.h that I
introduced).
Spotted by and ok tb@
gkoehler [Tue, 31 Jan 2023 01:27:58 +0000 (01:27 +0000)]
Execute-only for macppc G5
The G5 PowerPC 970 has a Data Address Compare mechanism that can trap
loads and stores to pages with PTE_AC_64, while allowing instruction
fetches. Use this for execute-only mappings, like we do on powerpc64.
Add a check to pte_spill_v for execute-only mappings. Without this,
we would forever retry reading an execute-only page.
In altivec_assist, copyin would fail to read the instruction from an
execute-only page. Add copyinsn to bypass x-only, like sparc64.
with help from abieber@ deraadt@ kettenis@
ok deraadt@
deraadt [Tue, 31 Jan 2023 00:50:17 +0000 (00:50 +0000)]
powerpc xonly for G5 is coming. ld.so can have xonly text.
ok gkoehler
dv [Mon, 30 Jan 2023 21:43:12 +0000 (21:43 +0000)]
vmd(8): fix an interrupt storm in ns8250.
On slower hosts, such as those in a nested virtualization scenario
of OpenBSD guest inside OpenBSD atop Linux KVM, ns8250 can cause a
race between the kevent firing and the vcpu being kicked by an
assert/deassert of the irq.
The end user experiences a "stuck" serial console and the host will
see a vmd process peg the cpu.
This change only toggles the irq if we were in a position of being
ready to receive data on the device so while the kevent might
continuously fire, the vcpu will not be kicked repeatedly.
OK mlarkin@
kettenis [Mon, 30 Jan 2023 20:05:31 +0000 (20:05 +0000)]
Rework cpu_init_secondary() such that it can be used for both the initial
powerup and for wakeup from deeper sleep states.
Adjust cpu_suspen_primary() to use pmap_extract() to find the physical
address of the entry point and struct cpu_info.
ok phessler@
miod [Mon, 30 Jan 2023 19:26:16 +0000 (19:26 +0000)]
Fix logic of picmeup() to only produce one set of statements on OpenBSD; this
got accidentally lost in 1.4.
claudio [Mon, 30 Jan 2023 17:02:48 +0000 (17:02 +0000)]
Extend community unittests to cover more bits
sthen [Mon, 30 Jan 2023 16:54:56 +0000 (16:54 +0000)]
sync --execute-only archs described in the manual with current code
ok deraadt
claudio [Mon, 30 Jan 2023 16:53:24 +0000 (16:53 +0000)]
Same parseextvalue() change as in parse.y rev 1.441
Use 2-byte ASnum encoding as a default when local-as/neighbor-as is used.
claudio [Mon, 30 Jan 2023 16:51:34 +0000 (16:51 +0000)]
Alter the way extended communities are matched when part of the value
is auto-expanded or masked off.
Try to match against both 2- and 4-byte AS encoding and on insertion
check if expansion is actually possible and deny communities where both
community values are > USHRT_MAX.
OK tb@
jcs [Mon, 30 Jan 2023 14:43:29 +0000 (14:43 +0000)]
The APM_IOC_NEXTEVENT ioctl was removed in the mickey era, remove
documentation about it
ok deraadt, miod
dv [Mon, 30 Jan 2023 14:05:36 +0000 (14:05 +0000)]
vmm(4): expose PKU cpuid bit if in use on host.
We are using {rd,wr}pkru instructions for saving and restoring the
PKRU, so tie the exposure of PKU feature bit to vmm having the
ability to properly handle the guest state.
deraadt [Mon, 30 Jan 2023 11:21:26 +0000 (11:21 +0000)]
part of a future diff snuck into the previous commit
jsg [Mon, 30 Jan 2023 10:49:04 +0000 (10:49 +0000)]
remove unneeded includes in arch/i386
ok krw@ miod@
visa [Mon, 30 Jan 2023 03:31:59 +0000 (03:31 +0000)]
Replace selwakeup() with KNOTE() in pppac(4) and pppx(4)
Use the same mutex for read and write side klists. It would be overkill
to have dedicated locks.
Remove klist_invalidate() from pppacclose() because pppac(4) does not
have forced device detach. When the close routine gets called, there
should be no open file descriptors pointing the device, and consequently
the klists should be empty.
OK mvs@
dv [Mon, 30 Jan 2023 02:32:01 +0000 (02:32 +0000)]
vmm(4): save and restore guest pkru.
Take a simple approach for saving and restoring PKRU if the host
has PKE support enabled. Uses explicit rdpkru/wrpkru instructions
for now instead of xsave.
This functionality is still gated behind amd64 pmap checking for
operation under a hypervisor as well as vmm masking the cpuid bit
for PKU.
"if your diff is good, then commit it" -deraadt@
deraadt [Mon, 30 Jan 2023 00:10:39 +0000 (00:10 +0000)]
We have determined that enough HV have correct PKU handling now,
so don't be paranoid about it anymore. What does this mean? If the HV
above you is broken, userland programs in the guest could crash, the guest
might even be quite unusable. So fix the hypervisor. The best way to
raise the bar on hypervisor quality is for guests to behave like they
are on a real machine, and then sucky hypervisors have to get fixed.
ps. if using vmd as your hypervisor, use syspatch...
gnezdo [Sun, 29 Jan 2023 20:30:56 +0000 (20:30 +0000)]
Accumulate intermediate imutables locally before applying
OK deraadt
gnezdo [Sun, 29 Jan 2023 20:30:21 +0000 (20:30 +0000)]
Unite all nitems copies in ld.so/util.h
OK deraadt
deraadt [Sun, 29 Jan 2023 16:23:15 +0000 (16:23 +0000)]
sign another typo
deraadt [Sun, 29 Jan 2023 16:09:32 +0000 (16:09 +0000)]
32-bit powerpc should also allow the --exec-only flag.
but it isn't the default yet
jsing [Sun, 29 Jan 2023 15:51:26 +0000 (15:51 +0000)]
Use utime in order to make benchmarks less noisy and more consistent.
jsing [Sun, 29 Jan 2023 15:33:43 +0000 (15:33 +0000)]
Set BN_FLG_CONSTTIME on benchmark inputs.
The public APIs still change behaviour based on BN_FLG_CONSTTIME - set it
to avoid benchmark noise.
jsing [Sun, 29 Jan 2023 15:26:55 +0000 (15:26 +0000)]
Add benchmarks for BN_div()
jsing [Sun, 29 Jan 2023 15:22:12 +0000 (15:22 +0000)]
Correct setup for BN_mul/BN_sqr benchmarks.
BN_rand() takes a bit length, not the top bit.
jsing [Sun, 29 Jan 2023 15:18:49 +0000 (15:18 +0000)]
Rename bn_mul.c regress to bn_mul_div.c.
jsing [Sun, 29 Jan 2023 14:06:58 +0000 (14:06 +0000)]
Remove the now empty/unused bn_depr.c.
jsing [Sun, 29 Jan 2023 14:00:41 +0000 (14:00 +0000)]
Use s2n-bignum assembly implementations for libcrypto bignum on amd64.
This switches the core bignum assembly implementations from x86_64-gcc.c to
s2n-bignum for amd64.
ok miod@ tb@
otto [Sun, 29 Jan 2023 09:28:57 +0000 (09:28 +0000)]
Fix ^^D and 0^D description; pointed out by Tomas Rippl; ok jmc@
deraadt [Sun, 29 Jan 2023 07:37:34 +0000 (07:37 +0000)]
powerpc64 xonly works; ld.so can be switched over
tb [Sat, 28 Jan 2023 21:24:40 +0000 (21:24 +0000)]
sync
deraadt [Sat, 28 Jan 2023 21:17:58 +0000 (21:17 +0000)]
sync
tb [Sat, 28 Jan 2023 19:15:05 +0000 (19:15 +0000)]
sync
tb [Sat, 28 Jan 2023 19:14:38 +0000 (19:14 +0000)]
Stop installing x509_verify.h
ok jsing
tb [Sat, 28 Jan 2023 19:12:20 +0000 (19:12 +0000)]
Switch regress to using x509_verify.h from libcrypto instead of the
one in /usr/include/openssl.
tb [Sat, 28 Jan 2023 19:08:09 +0000 (19:08 +0000)]
Stop relying on x509_verify.h being public
Use x509_verify.h from the libcrypto sources instead of the public copy.
The x509_verify.h header was installed as a public header since early on
we had ideas of using a public API in libtls, but we eventually decided
against that. It makes no sense to install a public header that hides
everything behind LIBRESSL_INTERNAL. The public API will not be exposed
anytime soon if at all.
ok jsing
phessler [Sat, 28 Jan 2023 18:44:31 +0000 (18:44 +0000)]
create enough wskbd* device nodes at runtime in the ramdisk so we can set
the keyboard layout on all of them during install.
tested with a Thinkpad X13s with a silly amount of kezboards connected.
OK miod@ kn@
phessler [Sat, 28 Jan 2023 18:40:53 +0000 (18:40 +0000)]
install sbin/kbd on arm64's ramdisk, so a user can set a keyboard layout if
they are using a glass console and kezboard.
tested with a Thinkpad X13s with a DE kezboard.
OK deraadt@ miod@ kn@
deraadt [Sat, 28 Jan 2023 17:58:58 +0000 (17:58 +0000)]
Permit the --exec-only option on i386 also. This does not make it the default.
I wonder if we should allow --exec-only option on all architectures
(but not as default), because this pre-check list now covers all
architectures, and we haven't seen a ld.lld problem. We only switch
an architecture to --exec-only default when other aspects (mostly
compiler or .S files), that is a seperate switch block.
Even though i386 has no mmu means to enforce xonly, uvm will fail a
memcpy read of region which hasn't been previously faulted (by
executing code in the region). This definately blocks reads of
"contigious entire libc text", because very few programs "execute code
in all libc code pages", even with uvm_fault's behaviour of wide
faulting a 32K region. The random relinking also means an attacker
cannot know what subset of libc text can be read because pre-faulted
chunks are unknown, but now they can't copy it all (if they could find
the location and bounds). This neat behaviour applies to all
architectures. It seems we should try to always hint text segment
permission as PROT_EXEC-only to the kernel and be happy that blocks a
read, even if that blocking isn't 100% reliable.
note: unfortunately binutils --exec-only isn't bug-free yet on most
architectures, taking the same approach there will take longer.
jsing [Sat, 28 Jan 2023 17:13:26 +0000 (17:13 +0000)]
Remove comment referencing bn_depr.c.
jsing [Sat, 28 Jan 2023 17:09:00 +0000 (17:09 +0000)]
Move the three functions that are in bn_depr.c back to bn_prime.c.
They should go away, but they have not yet disappeared and this
consolidates the source files.
Discussed with tb@
jsing [Sat, 28 Jan 2023 17:07:02 +0000 (17:07 +0000)]
Move the more readable version of bn_mul_mont() from bn_asm.c to bn_mont.c.
Nothing actually uses this code, as OPENSSL_BN_ASM_MONT is not defined
unless there is an assembly implementation available (not to mention that
defining both OPENSSL_NO_ASM and OPENSSL_BN_ASM_MONT at the same time is
extra strange).
Discussed with tb@
jsing [Sat, 28 Jan 2023 16:58:24 +0000 (16:58 +0000)]
Fix previous.
jsing [Sat, 28 Jan 2023 16:33:34 +0000 (16:33 +0000)]
Provide bn_div_rem_words() and make use of it.
Provide a function that divides a double word (h:l) by d, returning the
quotient q and the remainder r, such that q * d + r is equal to the
numerator. Call this from the three places that currently implement this
themselves.
This is implemented with some slight indirection, which allows for per
architecture implementations, replacing the define/macro tangle, which
messes with variables that are not passed to it.
Also remove a duplicate of bn_div_words() for the BN_ULLONG && BN_DIV2W
case - this is already handled.
ok tb@
dv [Sat, 28 Jan 2023 14:40:53 +0000 (14:40 +0000)]
Move some header definitions from vmm(4) to vmd(8).
Part of an ongoing effort to move userland-specific information out
of a kernel header and directly into vmd(8). No functional change.
ok mlarkin@
krw [Sat, 28 Jan 2023 13:14:01 +0000 (13:14 +0000)]
Nuke unused variable.
deraadt [Sat, 28 Jan 2023 11:47:25 +0000 (11:47 +0000)]
sync
kettenis [Sat, 28 Jan 2023 11:13:59 +0000 (11:13 +0000)]
Make --execute-only the default on powerpc64. Sort case statements in
alphabetical order while I'm there.
ok deraadt@
phessler [Sat, 28 Jan 2023 11:04:47 +0000 (11:04 +0000)]
Update the number of default wskbd entries
OK deraadt@
mvs [Sat, 28 Jan 2023 10:17:16 +0000 (10:17 +0000)]
Revert the `rt_lock' rwlock(9) diff to fix the recursive
rwlock(9) acquisition.
Reported-by: syzbot+fbe3acb4886adeef31e0@syzkaller.appspotmail.com
deraadt [Sat, 28 Jan 2023 05:58:47 +0000 (05:58 +0000)]
typo in comment
kettenis [Fri, 27 Jan 2023 23:11:59 +0000 (23:11 +0000)]
Only use the CPU_OFF PSCI call if SYSTEM_SUSPEND is supported. This means
that secondary CPUs will get parked in a WFI loop like we already do on
Apple Silicon systems. This requires some small changes in agintc(4) to
make sure we ack the "halt" IPI such that we can send a "wakeup" IPI later.
ok patrick@
cheloha [Fri, 27 Jan 2023 22:16:52 +0000 (22:16 +0000)]
dmtimer(4): initialize stathz, profhz as other drivers, platforms do
Don't hardcode stathz to 100 and profhz to 1000. Instead, set stathz
to hz and profhz to (stathz * 10). This is what we do in all other
armv7 clock interrupt drivers and most other platforms.
Link: https://marc.info/?l=openbsd-tech&m=167479021815637&w=2
ok kettenis@
cheloha [Fri, 27 Jan 2023 22:14:43 +0000 (22:14 +0000)]
powerpc64: initialize stathz, profhz as on other platforms
Don't hardcode stathz to 100 and profhz to 1000. Instead, set stathz
to hz and profhz to (stathz * 10). This is what we do on most other
platforms.
Link: https://marc.info/?l=openbsd-tech&m=167479021815637&w=2
ok kettenis@
cheloha [Fri, 27 Jan 2023 22:13:48 +0000 (22:13 +0000)]
macppc: initialize stathz, profhz as on other platforms
Don't hardcode stathz to 100 and profhz to 1000. Instead, set stathz
to hz and profhz to (stathz * 10). This is what we do on most other
platforms.
Link: https://marc.info/?l=openbsd-tech&m=167479021815637&w=2
ok kettenis@
kettenis [Fri, 27 Jan 2023 22:01:02 +0000 (22:01 +0000)]
Recommit the switch to use llvm-strip on architectures that use ld.lld.
ok naddy@, sthen@
kettenis [Fri, 27 Jan 2023 21:35:02 +0000 (21:35 +0000)]
Change the emitted .glink stub on powerpc64 to use an instruction sequence
to compose the offset to the PLT instead of having a constant pool in .text.
Make --execute-only work on powerpc64.
ok miod@
mvs [Fri, 27 Jan 2023 21:01:59 +0000 (21:01 +0000)]
Push solock() down to sogetopt(). It is not required for the most cases.
Also, some cases could be protected with solock_shared().
ok bluhm@
mvs [Fri, 27 Jan 2023 18:46:34 +0000 (18:46 +0000)]
Replace selinfo structure by klist in sockbuf. No reason to keep it,
selinfo is just wrapper to klist. netstat(1) and libkvm use socket
structure, but don't touch so_{snd,rcv}.sb_sel.
ok visa@
miod [Fri, 27 Jan 2023 16:43:33 +0000 (16:43 +0000)]
Use the same inline assembly constraints as for libc fp*(), when operating
on the floating-point control register.
miod [Fri, 27 Jan 2023 16:42:03 +0000 (16:42 +0000)]
Remove fast round(3) implementation for hppa. It is a nice idea, but does not
round in the right direction for halfway values.
(noticed in the perl test results thanks to afresh1@)
miod [Fri, 27 Jan 2023 16:39:58 +0000 (16:39 +0000)]
Test the behaviour of round() on halfway values.
miod [Fri, 27 Jan 2023 16:39:22 +0000 (16:39 +0000)]
Add a few more -fno-builtin to make sure we test libm, not the compiler.
cheloha [Fri, 27 Jan 2023 15:37:16 +0000 (15:37 +0000)]
riscv64: initialize stathz, profhz like other platforms do
Don't hardcode 100 and 1000. Use hz(9) for stathz, compute profhz
using stathz, just like most other platforms.
Link: https://marc.info/?l=openbsd-tech&m=167479021815637&w=2
ok jca@