Skip to content

error: invalid instruction arch/arm/mm/tlb-v7.S #1195

@nickdesaulniers

Description

@nickdesaulniers

building allyesconfig with LLVM_IAS=1:

$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make LLVM=1 LLVM_IAS=1 -j71 arch/arm/mm/tlb-v7.o
...
clang-12: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-12: warning: argument unused during compilation: '-Wa,-march=armv7-a' [-Wunused-command-line-argument]
arch/arm/mm/tlb-v7.S:35:2: error: invalid instruction
 dsb ish
 ^
arch/arm/mm/tlb-v7.S:56:2: error: invalid instruction
 dsb ish
 ^
arch/arm/mm/tlb-v7.S:69:2: error: invalid instruction
 dsb ish
 ^
arch/arm/mm/tlb-v7.S:84:2: error: invalid instruction
 dsb ish
 ^
arch/arm/mm/tlb-v7.S:85:2: error: instruction requires: data-barriers
 isb
 ^

similar to 7548bf8

diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile
index 3510503bc5e6..6e9b54714500 100644
--- a/arch/arm/mm/Makefile
+++ b/arch/arm/mm/Makefile
@@ -73,7 +73,6 @@ obj-$(CONFIG_CPU_TLB_V7)      += tlb-v7.o
 obj-$(CONFIG_CPU_TLB_FA)       += tlb-fa.o
 
 AFLAGS_tlb-v6.o                :=-Wa,-march=armv6
-AFLAGS_tlb-v7.o                :=-Wa,-march=armv7-a
 
 obj-$(CONFIG_CPU_ARM7TDMI)     += proc-arm7tdmi.o
 obj-$(CONFIG_CPU_ARM720T)      += proc-arm720.o
diff --git a/arch/arm/mm/tlb-v7.S b/arch/arm/mm/tlb-v7.S
index 1bb28d7db567..2643e2f51b6a 100644
--- a/arch/arm/mm/tlb-v7.S
+++ b/arch/arm/mm/tlb-v7.S
@@ -16,6 +16,8 @@
 #include <asm/tlbflush.h>
 #include "proc-macros.S"
 
+.arch armv7-a
+
 /*
  *     v7wbi_flush_user_tlb_range(start, end, vma)
  *

fixes the error. cc @jcai19

Metadata

Metadata

Assignees

No one assigned

    Labels

    Reported upstreamThis bug was filed on LLVM’s issue tracker, Phabricator, or the kernel mailing list.[ARCH] arm32This bug impacts ARCH=arm[BUG] linuxA bug that should be fixed in the mainline kernel.[CONFIG] allyesconfigIssue affects allyesconfig on certain architectures[FIXED][LLVM] 13This bug was fixed in LLVM 13.x[TOOL] integrated-asThe issue is relevant to LLVM integrated assembler

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions