Now that bad144 handling is isolated to the places that care about it,
garbage-collect it from all of the various machine-dependent files that
have been cargo-culting it around needlessly for 20+ years.
Version bump to 11.99.7 because this changes the size of struct cpu_disklabel
on some platforms, and that structure is exposed in the module ABI.
Apply changes between 2026b and 2026c
Release 2026c - 2026-07-08 10:23:58 -0700
Briefly:
Alberta moved to permanent -06 on 2026-06-18.
Morocco moves to permanent +00 on 2026-09-20.
More integer overflow bugs have been fixed in zic.
Changes to future timestamps
Alberta's 2026-03-08 spring forward was its last foreseeable clock
change, as it moved to permanent -06 thereafter. (Thanks to Roozbeh
Pournader and others.) Model this with its traditional abbreviation
CST. Although the change to permanent -06 legally took place on
2026-06-18, temporarily model the change to occur on 2026-11-01 at
02:00 instead, for the same reason we introduced a similarly
temporary hack for British Columbia in 2026b.
[45 lines not shown]
sh - read - handle read errors in read builtin
It used to be (incorrectly) that a read error was treated
the same as EOF in the read builtin utility. They should
be errors, with a message, and exit status > 1. Now they are.
Ooops, previous commit log should have been:
Fix conditional avaiability of code to convert between partitioning
schemes. It is needed if extended partitioning is available
(where we have a menu entry to invoke it manually) or we
compile in the "this disk is too big for disklabel" checks.
Define a "BI_MACH_FDT" machine type. The value for this record type
is 0x46445400 ('FDT\0') and unlikely to collide with any other new
machine types that Linux/m68k might decide to allocate.
This machine type has 3 machine-type-specific bootinfo record types:
- BI_FDT_PLATFORM -- a C string providing more detail about the specific
machine / platform.
- BI_FDT_BLOB -- a data record containing a Flattened Device Tree blob.
- BI_FDT_ELF_SYMS -- a memory record pointing to the location of any
loaded ELF symbols, assumed to be contiguous with the kernel +
bootinfo data. This record is needed early, possibly before virtual
memory has been bootstrapped, so that the symbols can be preserved.
Support 8-bit PIO if the front-end indicates that it's necessary:
- In wdc_drvprobe(), if neither ATAC_CAP_DATA16 nor ATAC_CAP_DATA32
is set in the controller capabilities, then attempt to enable 8-bit
PIO on the drive. If that command fails, ignore the drive.
- In wdc_datain_pio(), if we're doing 8-bit PIO, check for ATA_DRIVE_NOSTREAM
and simulate a NOSTREAM 16-bit PIO. This is necessary because we
treat the IDENTIFY command as "special" for historical (and almost
certainly bad) reasons.
- wdc_dataout_pio() gets the same NOSTREAM shenanigans for 8-bit PIO,
although I would be surprised if it is ever requested.