Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756144AbcKBQoa (ORCPT ); Wed, 2 Nov 2016 12:44:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52534 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755593AbcKBQo3 (ORCPT ); Wed, 2 Nov 2016 12:44:29 -0400 Date: Wed, 2 Nov 2016 17:44:27 +0100 From: Artem Savkov To: Catalin Marinas Cc: Will Deacon , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: arm64 build failure with CONFIG_ARM64_LSE_ATOMICS=y Message-ID: <20161102164427.GB24243@shodan.usersys.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.7+2 (e5fcfc5f9c2e) (2016-08-17) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 02 Nov 2016 16:44:28 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1532 Lines: 34 Hello Catalin, Looks like your patch "efd9e03 arm64: Use static keys for CPU features" breaks arm64 build with "CONFIG_ARM64_LSE_ATOMICS=y" because it creates a circular dependency for asm/lse.h through jump_label.h: CC arch/arm64/kernel/asm-offsets.s In file included from ./arch/arm64/include/asm/atomic.h:34:0, from ./include/linux/atomic.h:4, from ./include/linux/jump_label.h:169, from ./arch/arm64/include/asm/cpufeature.h:12, from ./arch/arm64/include/asm/alternative.h:4, from ./arch/arm64/include/asm/lse.h:7, from ./arch/arm64/include/asm/spinlock.h:19, from ./include/linux/spinlock.h:87, from ./include/linux/seqlock.h:35, from ./include/linux/time.h:5, from ./include/uapi/linux/timex.h:56, from ./include/linux/timex.h:56, from ./include/linux/sched.h:19, from arch/arm64/kernel/asm-offsets.c:21: ./arch/arm64/include/asm/atomic_lse.h: In function ‘atomic_andnot’: ./arch/arm64/include/asm/atomic_lse.h:35:15: error: expected string literal before ‘ARM64_LSE_ATOMIC_INSN’ asm volatile(ARM64_LSE_ATOMIC_INSN(__LL_SC_ATOMIC(op), \ ... ./arch/arm64/include/asm/cmpxchg.h: In function ‘__xchg_case_1’: ./arch/arm64/include/asm/cmpxchg.h:38:15: error: expected string literal before ‘ARM64_LSE_ATOMIC_INSN’ asm volatile(ARM64_LSE_ATOMIC_INSN( \ -- Regards, Artem