Module Name: src Committed By: riastradh Date: Thu Jul 11 08:13:50 UTC 2024
Modified Files: src/distrib/sets: sets.subr src/distrib/sets/lists/base: ad.arm ad.mips mi shl.mi src/distrib/sets/lists/base32: ad.aarch64 ad.mips64eb ad.mips64el ad.mipsn64eb ad.mipsn64el ad.powerpc64 ad.riscv64 md.amd64 md.sparc64 src/distrib/sets/lists/base64: ad.mips64eb ad.mips64el src/distrib/sets/lists/debug: ad.aarch64 ad.powerpc ad.riscv md.amd64 md.sparc64 mi shl.mi src/distrib/sets/lists/debug32: ad.aarch64 ad.mips64eb ad.mips64el ad.mipsn64eb ad.mipsn64el ad.powerpc64 ad.riscv64 md.amd64 md.sparc64 mi src/distrib/sets/lists/debug64: ad.mips64eb ad.mips64el mi Log Message: Revert the duplication of compat set lists; do it another way. 1. Restore the compatdir and compatfile tags in base and debug. => compatdir marks directories that should have per-ABI compat subdirectories, like /usr/lib having /usr/lib/o32 and /usr/lib/64 on mips64. => compatfile marks files that have per-ABI versions in the nearest compatdir, like /usr/lib/o32/libc.so.12.221. This is the mechanism we use to avoid duplicating every library that has a compat version in multiple set lists. 2. Teach sets.subr to split the compatdir and compatfile entries out into separate sets for base and debug. The mechanism is to internally use: - a new tag `omitcompat' when processing base and debug, so we don't generate the per-ABI compat directories or per-ABI compat files under them; - a new tag `takecompat=${ABI}' when processing base32/64 and debug32/64, so we _do_ generate the per-ABI compat directories for ${ABI}. => On, e.g., mips64, base32 uses `takecompat=o32' and base64 uses `takecompat=64'. => On, e.g., aarch64, base32 uses `takecompat=eabi,takecompat=eabihf', and there is no base64. 3. Record in sets.subr the list of `32' and `64' architectures for each port. This is maybe not the right place to put it, but it's also not clear that we want to keep exactly this division -- maybe it would be more sensible to just have per-ABI , e.g.: (aarch64) base-eabi, base-eabihf (amd64) base-i386 (mips64) base-o32, base-64 (mipsn64) base-o32, base-n32 But I'll leave cleaning that up for another day. 4. Adjust some sets. Mostly this commit shouldn't change what file go in what sets, but, e.g., on mips64, the following move from base32 to base64 as part of this change, which I think is appropriate: - /lib/64 - /libexec/ld.elf_so-64 - /usr/lib/64 - /usr/libdata/debug/lib/64 - /usr/libdata/debug/usr/lib/64 - /usr/libexec/ld.elf_so-64 TBD: Remove ./lib and ./usr/lib from debug/mi; they're already in base/mi. Maybe move ./usr/libdata/debug to from base/mi to debug/mi. This reverts most of the set list changes in: https://mail-index.netbsd.org/source-changes/2024/04/09/msg150763.html PR misc/58365 To generate a diff of this commit: cvs rdiff -u -r1.206 -r1.207 src/distrib/sets/sets.subr cvs rdiff -u -r1.88 -r1.89 src/distrib/sets/lists/base/ad.arm cvs rdiff -u -r1.94 -r1.95 src/distrib/sets/lists/base/ad.mips cvs rdiff -u -r1.1346 -r1.1347 src/distrib/sets/lists/base/mi cvs rdiff -u -r1.985 -r1.986 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.10 -r1.11 src/distrib/sets/lists/base32/ad.aarch64 \ src/distrib/sets/lists/base32/ad.mips64eb \ src/distrib/sets/lists/base32/ad.riscv64 \ src/distrib/sets/lists/base32/md.sparc64 cvs rdiff -u -r1.11 -r1.12 src/distrib/sets/lists/base32/ad.mips64el cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/base32/ad.mipsn64eb \ src/distrib/sets/lists/base32/md.amd64 cvs rdiff -u -r1.13 -r1.14 src/distrib/sets/lists/base32/ad.mipsn64el cvs rdiff -u -r1.9 -r1.10 src/distrib/sets/lists/base32/ad.powerpc64 cvs rdiff -u -r1.8 -r1.9 src/distrib/sets/lists/base64/ad.mips64eb \ src/distrib/sets/lists/base64/ad.mips64el cvs rdiff -u -r1.39 -r1.40 src/distrib/sets/lists/debug/ad.aarch64 cvs rdiff -u -r1.40 -r1.41 src/distrib/sets/lists/debug/ad.powerpc cvs rdiff -u -r1.21 -r1.22 src/distrib/sets/lists/debug/ad.riscv cvs rdiff -u -r1.126 -r1.127 src/distrib/sets/lists/debug/md.amd64 cvs rdiff -u -r1.90 -r1.91 src/distrib/sets/lists/debug/md.sparc64 cvs rdiff -u -r1.439 -r1.440 src/distrib/sets/lists/debug/mi cvs rdiff -u -r1.345 -r1.346 src/distrib/sets/lists/debug/shl.mi cvs rdiff -u -r1.13 -r1.14 src/distrib/sets/lists/debug32/ad.aarch64 cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/debug32/ad.mips64eb \ src/distrib/sets/lists/debug32/ad.mips64el cvs rdiff -u -r1.15 -r1.16 src/distrib/sets/lists/debug32/ad.mipsn64eb \ src/distrib/sets/lists/debug32/ad.mipsn64el cvs rdiff -u -r1.12 -r1.13 src/distrib/sets/lists/debug32/ad.powerpc64 \ src/distrib/sets/lists/debug32/ad.riscv64 \ src/distrib/sets/lists/debug32/md.sparc64 cvs rdiff -u -r1.19 -r1.20 src/distrib/sets/lists/debug32/md.amd64 cvs rdiff -u -r1.1 -r1.2 src/distrib/sets/lists/debug32/mi cvs rdiff -u -r1.8 -r1.9 src/distrib/sets/lists/debug64/ad.mips64eb \ src/distrib/sets/lists/debug64/ad.mips64el cvs rdiff -u -r1.1 -r1.2 src/distrib/sets/lists/debug64/mi Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.