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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.