[TableGen] Use StringTable for searchable tables (#206252)
LLVM has some large searchable tables containing string pointers. This
patch changes two things:
- String references in searchable tables are now always StringTable
offsets; and all code referencing these is updated accordingly. This
often avoids relocations in the data structures, permitting their
placement in .rodata instead of .data.rel.ro and avoids dynamic
relocations.
- The lookup indicies now reference the same string table instead of
storing string pointers, permitting deduplication and also avoids
dynamic relocations.
In an all-target assert build, this changes section sizes as follows:
- .data.rel.ro: -311920
- .rodata: +227712
[6 lines not shown]
kernel/apple_ir: Add Apple IR receiver driver.
USB HID driver for Apple IR receivers found in Mac computers
(2006-2011 era). Uses the u4b USB stack with interrupt transfers
and delivers key events through evdev.
Supports Apple Remote (proprietary 5-byte protocol) and generic NEC
IR remotes. Synthetic key-up events are generated via a 125ms callout
since the hardware sends no release reports.
Add UQ_HID_IGNORE quirks for all Apple IR receiver product IDs so
uhid(4) does not claim the device first. DragonFly's newbus probe
short-circuits on a 0 return, so the quirk is necessary to prevent
uhid's class-wide HID match from winning.
kernel/apple_smc: Table-drive sysctl registration and collapse duplicate handlers.
Replace fanminspeed/fanmaxspeed/fantargetspeed with single fanrw handler
using key index packed in arg2 bits [15:8]. Collapse sms_x/y/z, light
left/right, and mssd/mssp wrappers into table-indexed handlers. Table-drive
per-fan and system-state sysctl registration loops.
hammer2: factor out directory mtime update in vnops
Add hammer2_update_dir_mtime() for the repeated mtime/ctime update
pattern used after directory-modifying operations. Easier to maintain
and document in one place.
hammer: factor out blockmap layer CRC verification
Add hammer_verify_layer1_crc() and hammer_verify_layer2_crc() helpers
for the double-check-under-lock CRC pattern used across all blockmap
functions. Easier to maintain and document in one place.
AMDGPU: Replace tgsplit subtarget feature with attribute
This is a per-entrypoint property and has a corresponding
assembler directive, so it should not be baked into the
subtarget. I couldn't find much documentation on what this
actually does, so the description isn't great.
Fixes #204149
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
restrict IMSG_CTL_PROCFD to parent and check process id/instance
IMSG_CTL_PROCFD messages contain a destination process id and instance
number that were used to index internal arrays before being checked.
A child sending bad imsgs could cause out-of-bounds reads or
writes.
Check for a missing fd, a bad process id, or an out-of-range instance
before any array is indexed. Also reject IMSG_CTL_PROCFD that does not
come from the parent.
from Andrew Griffiths, diff by martijn@ and myself, ok martijn@
filesystems/rubygem-winrm-fs: fix regression from 5ff12f2c24a1ac6b91d994474f2201623f035077
===> rubygem-winrm-fs-1.3.5 depends on package: rubygem-rubyzip>=2.0<3 - not found
*** Error code 1
[AArch64][NFC] Use compact enum table for feature strings (#206084)
Although this is not exactly an enum, the same data structure can be
used to compactly store the feature strings without dynamic relactions.
As a side effect, this also slightly reduces the size of the table.
[llvm-readobj][NFC] Use compact enums (except for ELF) (#206075)
In principle straight-forward replacement, but clang-format is
deliberately non-helpful here..
ELFDumper is a separate patch due to the size of the changes.