Module Name: src Committed By: martin Date: Thu Aug 15 14:06:40 UTC 2019
Modified Files: src/usr.sbin/installboot: Makefile machines.c Log Message: Replace black voodo linker magic (sometimes failing) with some makefile + macro magic to trim the list of available machines on size restricted install media. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/usr.sbin/installboot/Makefile cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/installboot/machines.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/installboot/Makefile diff -u src/usr.sbin/installboot/Makefile:1.52 src/usr.sbin/installboot/Makefile:1.53 --- src/usr.sbin/installboot/Makefile:1.52 Tue May 7 05:02:42 2019 +++ src/usr.sbin/installboot/Makefile Thu Aug 15 14:06:40 2019 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.52 2019/05/07 05:02:42 thorpej Exp $ +# $NetBSD: Makefile,v 1.53 2019/08/15 14:06:40 martin Exp $ # .include <bsd.own.mk> @@ -27,6 +27,7 @@ ARCH_FILES?= ${ARCH_XLAT:M${MACHINE}-*:S .if empty(ARCH_FILES) ARCH_FILES= ${MACHINE}.c .endif +COPTS.machines.c+= -DSINGLE_ARCH="${MACHINE}" .endif SRCS+=${ARCH_FILES} Index: src/usr.sbin/installboot/machines.c diff -u src/usr.sbin/installboot/machines.c:1.40 src/usr.sbin/installboot/machines.c:1.41 --- src/usr.sbin/installboot/machines.c:1.40 Tue May 7 05:02:42 2019 +++ src/usr.sbin/installboot/machines.c Thu Aug 15 14:06:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: machines.c,v 1.40 2019/05/07 05:02:42 thorpej Exp $ */ +/* $NetBSD: machines.c,v 1.41 2019/08/15 14:06:40 martin Exp $ */ /*- * Copyright (c) 2002-2005 The NetBSD Foundation, Inc. @@ -35,41 +35,18 @@ #include <sys/cdefs.h> #if !defined(__lint) -__RCSID("$NetBSD: machines.c,v 1.40 2019/05/07 05:02:42 thorpej Exp $"); +__RCSID("$NetBSD: machines.c,v 1.41 2019/08/15 14:06:40 martin Exp $"); #endif /* !__lint */ #include <sys/types.h> #include "installboot.h" -/* - * Define these here so they end up as zero-filled bss if installboot - * isn't built with all the architectures defined. - * A lot simpler that conditionally including the definitions themselves. - */ -struct ib_mach - ib_mach_alpha, - ib_mach_amd64, - ib_mach_amiga, - ib_mach_emips, - ib_mach_evbarm, - ib_mach_ews4800mips, - ib_mach_hp300, - ib_mach_hppa, - ib_mach_i386, - ib_mach_landisk, - ib_mach_macppc, - ib_mach_news68k, - ib_mach_newsmips, - ib_mach_next68k, - ib_mach_pmax, - ib_mach_sparc, - ib_mach_sparc64, - ib_mach_sun2, - ib_mach_sun3, - ib_mach_vax, - ib_mach_x68k; - struct ib_mach * const machines[] = { +#ifdef SINGLE_ARCH +#define IB_PREFIX(X) ib_mach_##X +#define MY_ARCH(X) IB_PREFIX(X) + &MY_ARCH(SINGLE_ARCH), +#else &ib_mach_alpha, &ib_mach_amd64, &ib_mach_amiga, @@ -91,6 +68,7 @@ struct ib_mach * const machines[] = { &ib_mach_sun3, &ib_mach_vax, &ib_mach_x68k, +#endif NULL };