Re: [PATCH v2 -tip] perf tools: fix building error for arm64.

From: Wang Nan
Date: Tue Mar 17 2015 - 09:30:55 EST


On 2015/3/17 21:12, Jiri Olsa wrote:
> On Tue, Mar 17, 2015 at 11:33:10AM +0000, Wang Nan wrote:
>> Commit b11db6581beaccef8ae9a388ae96074aa5cc144f ("perf tools: Fix build
>> error on ARCH=i386/x86_64/sparc64") uses sed on ARCH, which triggers a
>> bug in sequence of sed expression, where 's/arm.*/arm/' will replace
>> 'arm64' to 'arm', causes arm64 building failure.
>>
>> This patch replaces 'arm64' to 'aarch64' before 's/arm.*/arm/' to
>> protect arm64 and replaces 'aarch64' back to 'arm64' after fixing
>> 'arm.*'.
>>
>> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
>> ---
>> v1 -> v2: Replace tabs with spaces to make new line similay to other lines.
>> ---
>> tools/perf/config/Makefile.arch | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/tools/perf/config/Makefile.arch b/tools/perf/config/Makefile.arch
>> index e972057..a5b6020 100644
>> --- a/tools/perf/config/Makefile.arch
>> +++ b/tools/perf/config/Makefile.arch
>> @@ -2,8 +2,11 @@ ifndef ARCH
>> ARCH := $(shell uname -m 2>/dev/null || echo not)
>> endif
>>
>> +# Set arm64 to aarch64 before replacing arm.* to arm to protect ARCH = arm64.
>> +# aarch64 will be replaced by arm64 again.
>> ARCH := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
>> -e s/sun4u/sparc/ -e s/sparc64/sparc/ \
>> + -e s/arm64/aarch64/ \
>> -e s/arm.*/arm/ -e s/sa110/arm/ \
>> -e s/s390x/s390/ -e s/parisc64/parisc/ \
>> -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
>
> hum, could we rather make the 'arm.*' expression complete?
> like this one seems to work:
>

Sure. It does work. Posted a v3 patch.

> [jolsa@krava perf]$ echo armkrava | sed -e '/arm64/!s/arm.*/arm/'
> arm
> [jolsa@krava perf]$ echo arm64 | sed -e '/arm64/!s/arm.*/arm/'
> arm64
>
>
> jirka
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/