PR/59839 CVS commit: src/sys/arch
"Nia Alarie" <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.pkgsrc.bugs |
|---|---|
| Message-ID | <[email protected]> |
The following reply was made to PR pkg/59839; it has been noted by GNATS. From: "Nia Alarie" <[email protected]> To: [email protected] Cc: Subject: PR/59839 CVS commit: src/sys/arch Date: Mon, 15 Dec 2025 22:10:34 +0000 Module Name: src Committed By: nia Date: Mon Dec 15 22:10:34 UTC 2025 Modified Files: src/sys/arch/aarch64/include: byte_swap.h src/sys/arch/amd64/include: byte_swap.h src/sys/arch/arm/include: byte_swap.h src/sys/arch/hppa/include: byte_swap.h src/sys/arch/i386/include: byte_swap.h src/sys/arch/m68k/include: byte_swap.h src/sys/arch/or1k/include: byte_swap.h src/sys/arch/riscv/include: byte_swap.h src/sys/arch/sh3/include: byte_swap.h src/sys/arch/vax/include: byte_swap.h Log Message: Eliminate recursive dependency on <sys/bswap.h> in MD <byte_swap.h> On certain NetBSD archs, it isn't possible to include <sys/bswap.h> directly without including <sys/endian.h> first. This has been broken since at least before netbsd-10, but recent changes elsewhere have made this problem more visible for some reason. Fix this by not including <sys/types.h>, eliminating recursive inclusion - <sys/types.h> includes <machine/endian.h>. It would be nice to remove that line from types.h, since it's no longer necessary, but currently the kernel assumes that <sys/endian.h> is included from <sys/types.h> in various places (and possibly userspace software does too). For now we can take the less dangerous option by avoiding including <sys/types.h> from these bswap headers. They don't need the full header, and applications that assume transclusion aren't portable anyway, since architectures like sparc64 don't include <sys/types.h> via <sys/bswap.h>. PR pkg/59839 palemoon, firefox, etc., don't build on arm64 any more To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/aarch64/include/byte_swap.h cvs rdiff -u -r1.8 -r1.9 src/sys/arch/amd64/include/byte_swap.h cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/include/byte_swap.h cvs rdiff -u -r1.8 -r1.9 src/sys/arch/hppa/include/byte_swap.h cvs rdiff -u -r1.17 -r1.18 src/sys/arch/i386/include/byte_swap.h cvs rdiff -u -r1.11 -r1.12 src/sys/arch/m68k/include/byte_swap.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/or1k/include/byte_swap.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/riscv/include/byte_swap.h cvs rdiff -u -r1.4 -r1.5 src/sys/arch/sh3/include/byte_swap.h cvs rdiff -u -r1.12 -r1.13 src/sys/arch/vax/include/byte_swap.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.