libc: Fix dtor order in __cxa_thread_atexit
The thread_local variable may creates another thread_local variable
inside its dtor. This new object is immediately be registered in
__cxa_thread_atexit() and need to be freed before processing another
variable.
This fixes the libcxx test thread_local_destruction_order.pass.cpp.
Reported by: kib
Approved by: lwhsu (mentor)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55826
kern_time: Honor the precise option when counting diff
When preecise option is used, the true elapsed time should also use the
precise timer.
This fixes the test case sleep_for.signals.pass.cpp in libcxx.
Reviewed by: kib, imp
Approved by: lwhsu (mentor)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55824
tcp: fix up !VIMAGE builds
The tcp_seq.h uses getmicrouptime() in an inline function, but it doesn't
include <sys/time.h>. This was usually masked by having tcp_var.h always
before tcp_seq.h, so restore that.
Fixes: c0462c2deafdcfe885e8d6f91b529d8cbddc6014
inpcb: fix up !VIMAGE builds
There are some files that don't include mutex.h and rwlock.h, but use
inpcb locking macros. With VIMAGE the net/vnet.h pulls half of the
possible kernel includes, masking the problem. The in_pcb.h also used to
mask the problem, so restore that.
Fixes: 041e9eb1ae094a81e55fbcaba37eb2ac194658cc
amd64: move code to clear PSL_T on debug exception into a helper
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D55827
EC2: Don't use unicode in boot loader
The boot loader menu is disabled by default in EC2, but if it is ever
turned on, the default (unicode) output breaks EC2's web interface to
the serial console.
Set loader_menu_frame="ascii" instead.
MFC after: 3 days
Sponsored by: Amazon
Revert "Makefile.inc1: Don't force LLVM_BINUTILS off for cross-tools"
This reverts commit 858f53dd43ecb84cf2597229e9dbda2f242d9dd6.
It is not clear to me why building from Linux or MacOS fails to build
the toolchain, so reintroduce the long-standing slightly-broken
toolchain until that can be determined.
Reported by: vexeduxr, jrtc27
jail: fix crash with startup commands on a jail without name
Jail name is optional, thus don't try setenv(NULL).
Fixes: d8f021add40c321c4578da55dae52fb93c7ccb5f
rtld-elf: Remove stray _exit prototype for aarch64
It's not clear why this is here. It's existed since the very first
version of rtld-elf for aarch64 but has never been used, and anything
actually using exit or _exit should be using rtld_libc.h's #define that
aliases them to __sys_exit.
Fixes: 047c6e3ae6ab ("Add the arm64 code to the runtime linker. It's not able to be built as we still need libc_pic for a few things, but this is expected to be ready soon.")
i6300esbwd: Set error appropriately on event
Per the watchdog driver contract, if the driver successfully arms the
watchdog it must set error to 0, and if it's unable to arm the watchdog
it must leave error alone.
Sponsored by: Hewlett Packard Enterprise
alloca.3: Add entry about defining VLAs in same block as alloca() to BUGS
Refer to alloca() as a (builtin) function or macro, as it could be
defined as either depending on the compiler.
Paragraph about bug comes from Darwin's libc, and example added to
illustrate it.
Reviewed by: bnovkov
Approved by: bnovkov
MFC after: 3 days
Obtained from: https://github.com/apple-oss-distributions/libc (partially)
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D55370