Pull up following revision(s) (requested by nia in ticket #1253):
external/mit/ctwm/libexec/ctwm_app_menu: revision 1.7
ctwm_app_menu: Rewrite largely in awk for ~20-100x speedup.
Previously took ~2.5sec on my laptop, now 0.03sec.
Previously took ~10sec on a wiiu, now ~0.5sec.
Output is meant to be byte-for-byte identical, except possibly in
cases that could have screwed up ctwm by quoting shenanigans which
are now escaped. (I hope the escape sequences work, didn't actually
check how ctwm interprets them.) Can maybe support Exec line with
`"' in them by deleting some code (marked XXX) but I didn't test that
it actually works that way.
PR bin/59958: ctwm: long delay during ctwm_app_menu
Remove the __sync_val_compare_and_swap_[12] aliases from m68k and use
the new wrapper functions in
common/lib/libc/atomic/atomic_cas_{8,16}_cas.c
as all other that need these funcitions platforms do.
Pull up following revision(s) (requested by nia in ticket #256):
external/mit/ctwm/libexec/ctwm_app_menu: revision 1.7
ctwm_app_menu: Rewrite largely in awk for ~20-100x speedup.
Previously took ~2.5sec on my laptop, now 0.03sec.
Previously took ~10sec on a wiiu, now ~0.5sec.
Output is meant to be byte-for-byte identical, except possibly in
cases that could have screwed up ctwm by quoting shenanigans which
are now escaped. (I hope the escape sequences work, didn't actually
check how ctwm interprets them.) Can maybe support Exec line with
`"' in them by deleting some code (marked XXX) but I didn't test that
it actually works that way.
PR bin/59958: ctwm: long delay during ctwm_app_menu
Pull up following revision(s) (requested by nia in ticket #255):
distrib/notes/evbarm/install: revision 1.19
evbarm: Update install instructions.
Recommend using installboot to install u-boot.
Pull up following revision(s) (requested by jmcneill in ticket #254):
libexec/ld.elf_so/map_object.c: revision 1.70
libexec/ld.elf_so/arch/powerpc/fixup.c: revision 1.1
libexec/ld.elf_so/arch/powerpc/fixup.c: revision 1.2
libexec/ld.elf_so/rtld.h: revision 1.152
libexec/ld.elf_so/arch/powerpc/Makefile.inc: revision 1.18
libexec/ld.elf_so/Makefile: revision 1.154
This change adds the userspace portion of the IBM Espresso SMP fixup to the
netbsd-11 branch. This enables SMP-safeness of a netbsd-11 userland running
under a -current kernel on Wii U systems. Useful for eg. bulk builds in
chroots.
Pull up following revision(s) (requested by kim in ticket #253):
bin/df/df.c: revision 1.106
bin/df/df.c: revision 1.107
df: Add human-readable inode counts
df: Rename nbytes to value in prthumanval (not always bytes)
Pull up following revision(s) (requested by tsutsui in ticket #251):
external/mpl/bind/dist/lib/isc/jemalloc_shim.h: revision 1.6
PR/60150: Izumi Tsutsui: Increase alignment so that libuv can use the bottom
3 bits.
In the __HAVE_NEW_PMAP_68K case, use machine_bootmap[] to map the I/O
area VA==PA. With the Utah pmap, the I/O area was mapped at some
arbitrary KVA in pmap_bootstrap() and then double-mapped VA==PA in
mrg_init(). Initially, the new pmap case did this, as well, but then
mrg_init() blew up because no page tables were present for the address
it attempted to use. Now that pmap_bootstrap1() ensures that PTs are
allocated for FIXEDVA entries in machine_bootmap[], we can just have
the one mapping.
Confirmed by nat@ that this makes mac68k boot and run with the new
pmap, but there are still gremlins when running the X server.
Fix double free of hr_file (later handled by bozo_clean_request())
Also hr_file_free should be used for free(3) (it fixes "//~user/" case
in which hr_file points to the last slash in the prefix).
Move two functions from atomic_init_testset.c
sync_val_compare_and_swap_1 --> atomic_cas_8_cas.c
sync_val_compare_and_swap_2 --> atomic_cas_16_cas.c
this helps with pullups
libpthread: replace &pthread__cond_dummy with an artificial invalid pointer
a motivation is to make unexpected accesses trap.
this would also save a bit of memory and relocation. (at least on x86)
libpthread: retire struct waiter
two identical structures, struct waiter and struct pthread__waiter,
were introduced by a single commit in 2020.
("- Make pthread_condvar and pthread_mutex work on the stack...")
since then, they have always been assumed to be identical.
let's retire one of them and use a single copy.
no functional changes are intended.
makefs(8): improve fs-options documentation
Ensure all fs-options are documented, in alphabetical order.
Describe whether the option has a value (e.g., foo=str or foo=num),
and for numeric values describe the supported range.
Some markup consistency.
Remove my email from the man page.
revert the previous, it broke all the m68k, mips, and powerpc builds.
i had fixed most of the broken ones already, and i think thorpej has
fixed the sun2/sun3 builds that were remaining broken.
libpthread: remove a stale comment
the trick described by the comment has been removed in 2007.
("- Maintain a per-thread pointer to the last mutex acquired by...")
if: replace link state change queue with state transition
if_link_queue is now a normal bitmask rather than holding a queue.
It holds three bits to mirror the link state - UNKNOWN, DOWN and UP.
There are also some bits to indicate that the link state has been scheduled
for change and if it has been locked for changes (ie the interface being
destroyed).
The logic is simple - transitioning to DOWN will remove UNKNOWN and UP,
transitioning to UNKNOWN will remove UP (no driver should do this).
This means that even in the event of transitions happening faster than
the kernel can spit them out, the correct state of the link will be
preserved which is more important than the exact chain of events.
This also fixes an issue where the workqueue for the link state change
was incorrectly scheduled.
if_link_scheduled is now unused and will be removed in a future patch.
Fixes PR kern/60056.
libpthread: explain why pthread__allqueue has been kept
a bit history:
- libpthread_dbg has been removed from base in 2017.
- pkgsrc/devel/libpthread_dbg has been removed from pkgsrc in 2020.
the commit message of the removal was calling it "Legacy library out
of sync with NetBSD libpthread and without any users".
libpthread: fix pthread_main_np
the previous implementation was incorrect as pthread_t
of the main thread can be recycled via pthread__deadqueue.
with this changes, my test program [1] produces the same
result as macOS.
[1] https://github.com/yamt/garbage/tree/a24535e948dc62dde4c67366db97377e53d92e7b/c/pthread_main_np
an alternative fix would be to stop recycling the main thread
by simply leaking it. the leak is ok because, after all, it's
very rare for applications to continue after its main thread
exits. such applications don't even work as intended on some
of pthread implementations in the wild. for now, i'd go with
a more straightforward implementation though. ie. this commit.
cd9660: make sure that NM records are at least 5 bytes long.
avoids an integer underflow when this length has 5 subtracted from it
for a later path.
Reported by Adam Crosser, Praetorian