Re: git: 83bf6ab56829 - main - uname: switch machine to HW_MACHINE_ARCH

From: Andrew Turner <andrew_at_fubar.geek.nz>
Date: Mon, 12 Dec 2022 11:48:47 UTC

> On 11 Dec 2022, at 12:08, Piotr Kubaj <pkubaj@FreeBSD.org> wrote:
> 
> The branch main has been updated by pkubaj (ports committer):
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=83bf6ab568293e325f437342cdb87a626353e27c
> 
> commit 83bf6ab568293e325f437342cdb87a626353e27c
> Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
> AuthorDate: 2022-12-11 03:01:44 +0000
> Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
> CommitDate: 2022-12-11 12:05:39 +0000
> 
>    uname: switch machine to HW_MACHINE_ARCH
> 
>    On powerpc64, powerpc64le and riscv64 some software wrongly assumes that
>    it runs on powerpc or riscv (32-bit).
> 
>    Differential revision:  https://reviews.freebsd.org/D35962
>    Approved by:    alfredo, imp
> ---
> lib/libc/gen/__xuname.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/libc/gen/__xuname.c b/lib/libc/gen/__xuname.c
> index fba5eaeebc88..bd328d4f880f 100644
> --- a/lib/libc/gen/__xuname.c
> +++ b/lib/libc/gen/__xuname.c
> @@ -127,11 +127,11 @@ __xuname(int namesize, void *namebuf)
> 	}
> 	q += namesize;
> 
> -	if ((p = getenv("UNAME_m")))
> +	if ((p = getenv("UNAME_p")))
> 		strlcpy(q, p, namesize);
> 	else {
> 		mib[0] = CTL_HW;
> -		mib[1] = HW_MACHINE;
> +		mib[1] = HW_MACHINE_ARCH;
> 		len = namesize;
> 		oerrno = errno;
> 		if (sysctl(mib, 2, q, &len, NULL, 0) == -1) {
> 

This breaks the native arm64 build as make sets MACHINE based on this value. It is changed from arm64 to aarch64 which is incorrect so I get issues like the following:

make[1]: “.../freebsd/Makefile.inc1" line 163: Unknown target aarch64:aarch64.

I expect it also breaks the powerpc and riscv native builds for the same reason.

Can you please revert until this can be fixed.

Andrew