If MAKE_NATIVE, use sysctl to get MACHINE_ARCH from hw.machine_arch.
This commit is contained in:
parent
f042e00fb6
commit
3c2ba04fe8
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $ */
|
/* $NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1988, 1989, 1990, 1993
|
* Copyright (c) 1988, 1989, 1990, 1993
|
||||||
@ -69,7 +69,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MAKE_NATIVE
|
#ifndef MAKE_NATIVE
|
||||||
static char rcsid[] = "$NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $";
|
static char rcsid[] = "$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $";
|
||||||
#else
|
#else
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993\
|
|||||||
#if 0
|
#if 0
|
||||||
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94";
|
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94";
|
||||||
#else
|
#else
|
||||||
__RCSID("$NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $");
|
__RCSID("$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $");
|
||||||
#endif
|
#endif
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
#endif
|
#endif
|
||||||
@ -118,6 +118,9 @@ __RCSID("$NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $");
|
|||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
#ifdef MAKE_NATIVE
|
||||||
|
#include <sys/sysctl.h>
|
||||||
|
#endif
|
||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
|
||||||
@ -879,6 +882,20 @@ main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!machine_arch) {
|
if (!machine_arch) {
|
||||||
|
#ifdef MAKE_NATIVE
|
||||||
|
static char machine_arch_buf[sizeof(utsname.machine)];
|
||||||
|
const int mib[2] = { CTL_HW, HW_MACHINE_ARCH };
|
||||||
|
size_t len = sizeof(machine_arch_buf);
|
||||||
|
|
||||||
|
if (sysctl(mib, __arraycount(mib), machine_arch_buf,
|
||||||
|
&len, NULL, 0) < 0) {
|
||||||
|
(void)fprintf(stderr, "%s: sysctl failed (%s).\n", progname,
|
||||||
|
strerror(errno));
|
||||||
|
exit(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
machine_arch = machine_arch_buf;
|
||||||
|
#else
|
||||||
#ifndef MACHINE_ARCH
|
#ifndef MACHINE_ARCH
|
||||||
#ifdef MAKE_MACHINE_ARCH
|
#ifdef MAKE_MACHINE_ARCH
|
||||||
machine_arch = MAKE_MACHINE_ARCH;
|
machine_arch = MAKE_MACHINE_ARCH;
|
||||||
@ -887,6 +904,7 @@ main(int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
machine_arch = MACHINE_ARCH;
|
machine_arch = MACHINE_ARCH;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user