uts: GNU ld -r + kmodstamp for amd64 kmods (A′) #1
Open
Chris Tusa wants to merge gnu-kmods-rel into @
Why
amd64 GNU -shared / ET_DYN kmods are a dead end (BFD and LLD refuse non-PIC PC32/32S). This is REMOVE_SUNLD_PLAN A′: keep krtld’s relocatable path, link kmods with stock GNU ld -r, and stamp DT_NEEDED / DT_SUNW_KMOD with onbld kmodstamp.
What
kmodstamp(onbld): appendsSHT_DYNAMICto ELF64ET_REL. Not a linker.KMOD_LINKER=gnudefault for$(BINARY)andgenunix. GNU path:ld -r -o $@.tmp && kmodstamp && mv.unixandkmdbstay sunld.- Does not merge parked ET_DYN/
load_dsospikec37d3c296265.
Proof
hh-alpha11 hh-build build_ok=y (~2h39m, d31ca14fb178). Throwaway hh-deploy create wipe of hh-alpha12: Limine → login, zyginit 26/26, dtrace -l 63890 vs prior BE 62948, GNU pcfs modload probe-parity vs sunld. smbfs stamped DT_NEEDED=drv/nsmb autoloads.
Leftovers (not this PR)
Step B: libc BUILD.SO, ld.so.1, delete /usr/bin/sunld. kmdb still sunld. -z defs is a no-op on GNU ld -r (undefs fail at modload).
Nothing to merge — the source bookmark has no changesets beyond the target bookmark (@).