Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-11] src/sys/arch



Module Name:    src
Committed By:   martin
Date:           Thu Dec 18 19:57:53 UTC 2025

Modified Files:
        src/sys/arch/aarch64/include [netbsd-11]: byte_swap.h
        src/sys/arch/amd64/include [netbsd-11]: byte_swap.h
        src/sys/arch/arm/include [netbsd-11]: byte_swap.h
        src/sys/arch/hppa/include [netbsd-11]: byte_swap.h
        src/sys/arch/i386/include [netbsd-11]: byte_swap.h
        src/sys/arch/m68k/include [netbsd-11]: byte_swap.h
        src/sys/arch/or1k/include [netbsd-11]: byte_swap.h
        src/sys/arch/riscv/include [netbsd-11]: byte_swap.h
        src/sys/arch/sh3/include [netbsd-11]: byte_swap.h
        src/sys/arch/vax/include [netbsd-11]: byte_swap.h

Log Message:
Pull up following revision(s) (requested by nia in ticket #132):

        sys/arch/m68k/include/byte_swap.h: revision 1.12
        sys/arch/sh3/include/byte_swap.h: revision 1.5
        sys/arch/vax/include/byte_swap.h: revision 1.13
        sys/arch/amd64/include/byte_swap.h: revision 1.9
        sys/arch/arm/include/byte_swap.h: revision 1.17
        sys/arch/riscv/include/byte_swap.h: revision 1.6
        sys/arch/or1k/include/byte_swap.h: revision 1.3
        sys/arch/aarch64/include/byte_swap.h: revision 1.5
        sys/arch/i386/include/byte_swap.h: revision 1.18
        sys/arch/hppa/include/byte_swap.h: revision 1.9

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.4.52.1 src/sys/arch/aarch64/include/byte_swap.h
cvs rdiff -u -r1.8 -r1.8.24.1 src/sys/arch/amd64/include/byte_swap.h
cvs rdiff -u -r1.16 -r1.16.52.1 src/sys/arch/arm/include/byte_swap.h
cvs rdiff -u -r1.8 -r1.8.102.1 src/sys/arch/hppa/include/byte_swap.h
cvs rdiff -u -r1.17 -r1.17.28.1 src/sys/arch/i386/include/byte_swap.h
cvs rdiff -u -r1.11 -r1.11.68.1 src/sys/arch/m68k/include/byte_swap.h
cvs rdiff -u -r1.2 -r1.2.60.1 src/sys/arch/or1k/include/byte_swap.h
cvs rdiff -u -r1.5 -r1.5.30.1 src/sys/arch/riscv/include/byte_swap.h
cvs rdiff -u -r1.4 -r1.4.200.1 src/sys/arch/sh3/include/byte_swap.h
cvs rdiff -u -r1.12 -r1.12.54.1 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.




Home | Main Index | Thread Index | Old Index