2017-04-03 06:42:14

by Jiada Wang

[permalink] [raw]
Subject: [PATCH v2 0/1] fix perf build issue when ARCH=x86_64

From: Jiada Wang <[email protected]>


Jiada Wang (1):
tools build: transform ARCH to supported values

Changes from v2:
added function purify-arch, transforms both HOSTARCH and ARCH
to supported values

tools/scripts/Makefile.arch | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

--
1.7.9.5



2017-04-03 06:42:17

by Jiada Wang

[permalink] [raw]
Subject: [PATCH v2 1/1] tools build: transform ARCH to supported values

From: Jiada Wang <[email protected]>

with commit: 0a943cb10ce7 (tools build: Add HOSTARCH Makefile variable)
the following build failure is seen with ARCH=x86_84

In file included from util/event.c:2:0:
tools/include/uapi/linux/mman.h:4:27: fatal error: uapi/asm/mman.h: No such file or directory
compilation terminated.

This patch by evaluate ARCH to supported values just as the behavior before
above mentioned patch to fix the issue.

Signed-off-by: Jiada Wang <[email protected]>
Signed-off-by: Eugeniu Rosca <[email protected]>
---
tools/scripts/Makefile.arch | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/scripts/Makefile.arch b/tools/scripts/Makefile.arch
index ad85b92..41cfc56 100644
--- a/tools/scripts/Makefile.arch
+++ b/tools/scripts/Makefile.arch
@@ -1,4 +1,4 @@
-HOSTARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
+purify-arch = $(shell echo $1 | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
-e s/sun4u/sparc/ -e s/sparc64/sparc/ \
-e /arm64/!s/arm.*/arm/ -e s/sa110/arm/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ \
@@ -6,8 +6,12 @@ HOSTARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
-e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ \
-e s/tile.*/tile/ )

+HOSTARCH := $(call purify-arch,$(shell uname -m))
+
ifndef ARCH
ARCH := $(HOSTARCH)
+else
+ARCH := $(call purify-arch,$(ARCH))
endif

SRCARCH := $(ARCH)
--
1.7.9.5


2017-04-04 13:58:14

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH v2 1/1] tools build: transform ARCH to supported values

Em Sun, Apr 02, 2017 at 11:41:59PM -0700, [email protected] escreveu:
> From: Jiada Wang <[email protected]>
>
> with commit: 0a943cb10ce7 (tools build: Add HOSTARCH Makefile variable)
> the following build failure is seen with ARCH=x86_84
>
> In file included from util/event.c:2:0:
> tools/include/uapi/linux/mman.h:4:27: fatal error: uapi/asm/mman.h: No such file or directory
> compilation terminated.
>
> This patch by evaluate ARCH to supported values just as the behavior before
> above mentioned patch to fix the issue.

Humm, why not use what the kernel proper uses
6752ed90da032af72f2f1fa23d1abf0889b56db0), and that objtool adopted in:

commit 60cbdf5d051d4f4db23d267d511ca241d4be7c0d
Author: Josh Poimboeuf <[email protected]>
Date: Fri Jul 22 14:19:20 2016 -0500

tools build: Fix objtool build with ARCH=x86_64

The objtool build fails in a cross-compiled environment on a non-x86
host with "ARCH=x86_64":

- Arnaldo

> Signed-off-by: Jiada Wang <[email protected]>
> Signed-off-by: Eugeniu Rosca <[email protected]>
> ---
> tools/scripts/Makefile.arch | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/scripts/Makefile.arch b/tools/scripts/Makefile.arch
> index ad85b92..41cfc56 100644
> --- a/tools/scripts/Makefile.arch
> +++ b/tools/scripts/Makefile.arch
> @@ -1,4 +1,4 @@
> -HOSTARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
> +purify-arch = $(shell echo $1 | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
> -e s/sun4u/sparc/ -e s/sparc64/sparc/ \
> -e /arm64/!s/arm.*/arm/ -e s/sa110/arm/ \
> -e s/s390x/s390/ -e s/parisc64/parisc/ \
> @@ -6,8 +6,12 @@ HOSTARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
> -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ \
> -e s/tile.*/tile/ )
>
> +HOSTARCH := $(call purify-arch,$(shell uname -m))
> +
> ifndef ARCH
> ARCH := $(HOSTARCH)
> +else
> +ARCH := $(call purify-arch,$(ARCH))
> endif
>
> SRCARCH := $(ARCH)
> --
> 1.7.9.5
>