porters-handbook: Use full-length hashes in GH_TAGNAME
Full hashes avoid possible conflicts, at the cost of a small increase in
some path names.
About 1/3 of the existing GH_TAGNAMEs in the ports tree are already full
40-character hashes.
Reviewed by: bcr
Event: Halifax Hackathon 202606
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57901
porters-handbook: Freshen up example dates
Avoid looking like this document is over a decade old.
Reviewed by: jrm, bcr
Event: Halifax Hackathon 202606
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57900
[llubi] Add support for undef values (#205602)
Although we are planning to deprecate the undef value, it is still
widely used in the intermediate results of the pipeline, which blocks
the pass bisection. This patch uses `freeze poison` as a refinement of
undef.
Note that the undef value evaluates to different values each time the
user is executed. So it cannot be cached like other constants. A
temporary buffer is introduced to take ownership of these values and
avoid breaking the interface (although this is a bit ugly...). This will
also be used by a follow-up patch for ptrtoint/inttoptr.
From my experience, it is enough for test case reduction of middle-end
miscompilation bugs (there are still counterexamples like
https://github.com/dtcxzyw/llvm-autoreduce/issues/61). However, when
processing backend miscompilation bugs, lli typically uses a garbage
value, so that llvm-reduce may produce an invalid result. I think we may
need to introduce two flags to migrate this issue: one for poisoning
[5 lines not shown]
Pull up following revision(s) (requested by riastradh in ticket #1284):
lib/libpthread/Makefile: revision 1.103
tests/lib/libpthread/dlopen/t_dso_pthread_create.c: revision 1.2
tests/lib/libpthread/dlopen/t_dlopen.c: revision 1.2
tests/lib/libpthread/dlopen/t_dlopen.c: revision 1.3
lib/libpthread/shlib_version: revision 1.24
tests/lib/libpthread: Test unloading libpthread after lazy binding.
If you dlopen libpthread and dlclose it again, the thread stubs like
pthread_mutex_lock need to continue working -- a library might have
calls to it in order to support thread-safety for threaded
applications, but that library needs to continue working even in
non-threaded applications after lazy binding of the libpthread symbol
instead of the libc stub.
PR lib/59784: dlopening and dlclosing libpthread is broken
[29 lines not shown]
Pull up following revision(s) (requested by riastradh in ticket #2016):
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h: revision 1.3
Fix StaticSpinMutex::CheckLocked() on sparc32.
The lock gets set with atomic_exchange() -> __sync_lock_test_and_set()
which sets the value to 255 instead of 1. Check for a taken lock
with "!= 0" instead of "== 1". This should work on all architectures.
Ok: Matthew Green
Pull up following revision(s) (requested by riastradh in ticket #2015):
sys/kern/kern_exec.c: revision 1.526
posix_spawn(2): Fix race between parent and child.
This was an embarrassing misuse of condition variables.
PR kern/59175: posix_spawn hang, hanging other process too
PR kern/52634: possible unhandled spurious wakeup in posix_spawn
(This only resolves one of the symptoms wiz had in PR 59175; there is
also another issue involved with p_vmspace and p_psstrp.)
Pull up following revision(s) (requested by riastradh in ticket #1283):
sys/kern/kern_exec.c: revision 1.526
posix_spawn(2): Fix race between parent and child.
This was an embarrassing misuse of condition variables.
PR kern/59175: posix_spawn hang, hanging other process too
PR kern/52634: possible unhandled spurious wakeup in posix_spawn
(This only resolves one of the symptoms wiz had in PR 59175; there is
also another issue involved with p_vmspace and p_psstrp.)
Pull up following revision(s) (requested by riastradh in ticket #1281):
sys/dev/pci/ld_virtio.c: revision 1.48 (patch)
ld at virtio: Guard virtio_dequeue by virtio_vq_is_enqueued.
After triggering the DMA operation, or any previous virtio_dequeue,
virtio_vq_is_enqueued issues the necessary bus_dmamap_sync for
virtio_dequeue to observe any potential (new) result.
Normally this happens inside virtio(4) (in virtio_vq_intr) between
interrupt delivery and calling the virtqueue's done callback. But
polling mode I/O operations (and dump operations) don't take that
path, so it is necessary to call virtio_vq_is_enqueued explicitly.
PR kern/60182: ld at virtio sometimes hangs up
Pull up following revision(s) (requested by wiz in ticket #1285):
lib/libc/citrus/modules/citrus_utf8.c: revision 1.19
Fix return value for some invalid UTF-8 byte sequences
Update the length definitions to honor RFC 3629 (from 2003):
o The octet values C0, C1, F5 to FF never appear.
Add a check that continuation bytes are valid when adding them to the
internal buffer so that an out-of-bytes error doesn't override the
"invalid bytes" error.
Fixes PR 60369 by Bruno Haible.
Pull up following revision(s) (requested by wiz in ticket #339):
lib/libc/citrus/modules/citrus_utf8.c: revision 1.19
Fix return value for some invalid UTF-8 byte sequences
Update the length definitions to honor RFC 3629 (from 2003):
o The octet values C0, C1, F5 to FF never appear.
Add a check that continuation bytes are valid when adding them to the
internal buffer so that an out-of-bytes error doesn't override the
"invalid bytes" error.
Fixes PR 60369 by Bruno Haible.
[SmallVector] Out-of-line the trivially-copyable push_back grow path (#206213)
In the approximately trivially-copyable specialization, push_back's grow
path does not early return. Both Clang and GCC likely keep `this` and
`Elt` live across the out-of-line `grow_pod` call, saving and restoring
them in the prologue/epilogue. Shrink wrapping can't sink it (the saved
values are used in the store block the fast path also reaches).
Move the grow-and-store into a noinline `growAndPushBack` helper and
tail call it. The fast path needs no callee-saved registers.
`push_back(int)` drops from 14 to 7 instructions on x86-64.
```
// void vec_pb_int(llvm::SmallVectorImpl<int>&v, int x){ v.push_back(x); }
mov eax, dword ptr [rdi + 8]
cmp eax, dword ptr [rdi + 12]
jae _ZN4llvm23SmallVectorTemplateBaseIiLb1EE15growAndPushBackEi # TAILCALL
mov rcx, qword ptr [rdi]
[12 lines not shown]
Pull up the following, requested by jdc in ticket #338:
external/mit/expat/dist/lib/xcsinc.c up to 1.1.1.1
external/mit/expat/dist/lib/fallthrough.h up to 1.1.1.1
external/mit/expat/dist/lib/memory_sanitizer.h up to 1.1.1.1
external/mit/expat/dist/memory-sanitizer-blacklist.txt delete
external/mit/expat/dist/CMake.README up to 1.1.1.10
external/mit/expat/dist/CMakeLists.txt up to 1.1.1.10
external/mit/expat/dist/Changes up to 1.1.1.11
external/mit/expat/dist/ConfigureChecks.cmake up to 1.1.1.6
external/mit/expat/dist/README.md up to 1.1.1.6
external/mit/expat/dist/configure.ac up to 1.1.1.9
external/mit/expat/dist/qa.sh up to 1.1.1.2
external/mit/expat/dist/doc/reference.html up to 1.1.1.10
external/mit/expat/dist/doc/xmlwf.xml up to 1.1.1.7
external/mit/expat/dist/lib/Makefile.am up to 1.1.1.5
external/mit/expat/dist/lib/expat.h up to 1.1.1.11
external/mit/expat/dist/lib/libexpat.def.cmake up to 1.1.1.3
external/mit/expat/dist/lib/random_arc4random_buf.c up to 1.1.1.2
[23 lines not shown]