Skip to content

clang ias: build failure for arch/arm/probes/kprobes/test-arm.c #1271

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
arndb opened this issue Jan 27, 2021 · 14 comments
Closed

clang ias: build failure for arch/arm/probes/kprobes/test-arm.c #1271

arndb opened this issue Jan 27, 2021 · 14 comments
Assignees
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.13 This bug was fixed in Linux 5.13 [TOOL] integrated-as The issue is relevant to LLVM integrated assembler

Comments

@arndb
Copy link

arndb commented Jan 27, 2021

This is the failure I get for this file when CONFIG_ARM_KPROBES_TEST is enabled

/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:131:2: error: unexpected token in '.ascii' directive
DATA_PROCESSING_DNM("and",0xf00f00ff)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:81:2: note: expanded from macro 'DATA_PROCESSING_DNM'
_DATA_PROCESSING_DNM(op,"",val)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:58:2: note: expanded from macro '_DATA_PROCESSING_DNM'
TEST_RR( op "eq" s " r0, r",1, VAL1,", r",2, val, "")
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:239:2: note: expanded from macro 'TEST_RR'
TESTCASE_START(code1 #reg1 code2 #reg2 code3)
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:113:14: note: expanded from macro 'TESTCASE_START'
"10: \n\t"
^
:4:15: note: instantiated into assembly here
.ascii "and" "eq" "" " r0, r" "1" ", r" "2" ""
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:131:2: error: unexpected token in '.ascii' directive
DATA_PROCESSING_DNM("and",0xf00f00ff)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:81:2: note: expanded from macro 'DATA_PROCESSING_DNM'
_DATA_PROCESSING_DNM(op,"",val)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:59:2: note: expanded from macro '_DATA_PROCESSING_DNM'
TEST_RR( op "ne" s " r1, r",1, VAL1,", r",2, val, ", lsl #3")
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:239:2: note: expanded from macro 'TEST_RR'
TESTCASE_START(code1 #reg1 code2 #reg2 code3)
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:113:14: note: expanded from macro 'TESTCASE_START'
"10: \n\t"
^
:4:15: note: instantiated into assembly here
.ascii "and" "ne" "" " r1, r" "1" ", r" "2" ", lsl #3"
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:131:2: error: unexpected token in '.ascii' directive
DATA_PROCESSING_DNM("and",0xf00f00ff)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:81:2: note: expanded from macro 'DATA_PROCESSING_DNM'
_DATA_PROCESSING_DNM(op,"",val)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:60:2: note: expanded from macro '_DATA_PROCESSING_DNM'
TEST_RR( op "cs" s " r2, r",3, VAL1,", r",2, val, ", lsr #4")
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:239:2: note: expanded from macro 'TEST_RR'
TESTCASE_START(code1 #reg1 code2 #reg2 code3)
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:113:14: note: expanded from macro 'TESTCASE_START'
"10: \n\t"
^
:4:15: note: instantiated into assembly here
.ascii "and" "cs" "" " r2, r" "3" ", r" "2" ", lsr #4"
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:131:2: error: unexpected token in '.ascii' directive
DATA_PROCESSING_DNM("and",0xf00f00ff)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:81:2: note: expanded from macro 'DATA_PROCESSING_DNM'
_DATA_PROCESSING_DNM(op,"",val)
^
/git/arm-soc/arch/arm/probes/kprobes/test-arm.c:61:2: note: expanded from macro '_DATA_PROCESSING_DNM'
TEST_RR( op "cc" s " r3, r",3, VAL1,", r",2, val, ", asr #5")
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:239:2: note: expanded from macro 'TEST_RR'
TESTCASE_START(code1 #reg1 code2 #reg2 code3)
^
/git/arm-soc/arch/arm/probes/kprobes/test-core.h:113:14: note: expanded from macro 'TESTCASE_START'
"10: \n\t"
^
:4:15: note: instantiated into assembly here
.ascii "and" "cc" "" " r3, r" "3" ", r" "2" ", asr #5"
^

@nickdesaulniers
Copy link
Member

cc @jcai19

@nickdesaulniers nickdesaulniers added [ARCH] arm32 This bug impacts ARCH=arm [BUG] Untriaged Something isn't working [TOOL] integrated-as The issue is relevant to LLVM integrated assembler labels Jan 27, 2021
@nickdesaulniers
Copy link
Member

is this with clang-11? I get a different set of failures in this TU with clang-12 for allmodconfig.

  CC [M]  arch/arm/probes/kprobes/test-arm.o
arch/arm/probes/kprobes/test-arm.c:131:2: error: instruction 'andeq' can not set flags, but 's' suffix specified
        DATA_PROCESSING_DNM("and",0xf00f00ff)
        ^
arch/arm/probes/kprobes/test-arm.c:82:2: note: expanded from macro 'DATA_PROCESSING_DNM'
        _DATA_PROCESSING_DNM(op,"s",val)
        ^
arch/arm/probes/kprobes/test-arm.c:58:2: note: expanded from macro '_DATA_PROCESSING_DNM'
        TEST_RR(  op "eq" s "   r0,  r",1, VAL1,", r",2, val, "")               \
        ^
arch/arm/probes/kprobes/test-core.h:243:2: note: expanded from macro 'TEST_RR'
        TEST_INSTRUCTION(code1 #reg1 code2 #reg2 code3)         \
        ^
arch/arm/probes/kprobes/test-core.h:155:17: note: expanded from macro 'TEST_INSTRUCTION'
        "50:    nop                                     \n\t"   \
                                                          ^
<inline asm>:24:5: note: instantiated into assembly here
        1:      andeqs  r0,  r1, r2                             
                ^

@nickdesaulniers
Copy link
Member

nickdesaulniers commented Jan 28, 2021

For my case, -no-integrated-as works. The disassembly produces andseq r0, r1, r2 (from llvm-objdump and GNU objdump). Looks like gas accepts andseq but LLVM_IAS does not. This pattern happens a lot in this source file.

@nickdesaulniers
Copy link
Member

I wonder if this is unified syntax issue? I'm re-writing it...slowly...

@nickdesaulniers
Copy link
Member

damn, I have this finished, but there is one bug in LLVM that I have a fix for too...

@nickdesaulniers
Copy link
Member

nickdesaulniers commented Jan 28, 2021

llvm patch:

diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td                                                                                          
index 8dcb319923ae..9792586a53a5 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -3579,10 +3579,10 @@ def MOVr_TC : AsI1<0b1101, (outs tcGPR:$Rd), (ins tcGPR:$Rm), DPFrm,
   let Inst{15-12} = Rd;
 }
 
-def MOVsr : AsI1<0b1101, (outs GPRnopc:$Rd), (ins shift_so_reg_reg:$src),
+def MOVsr : AsI1<0b1101, (outs GPR:$Rd), (ins shift_so_reg_reg:$src),
                 DPSoRegRegFrm, IIC_iMOVsr,
                 "mov", "\t$Rd, $src",
-                [(set GPRnopc:$Rd, shift_so_reg_reg:$src)]>, UnaryDP,
+                [(set GPR:$Rd, shift_so_reg_reg:$src)]>, UnaryDP,
                 Sched<[WriteALU]> {
   bits<4> Rd;
   bits<12> src;
@@ -6327,16 +6327,16 @@ def RRXi : ARMAsmPseudo<"rrx${s}${p} $Rd, $Rm",
                         (ins GPR:$Rd, GPR:$Rm, pred:$p, cc_out:$s)>;
 let TwoOperandAliasConstraint = "$Rn = $Rd" in {
 def ASRr : ARMAsmPseudo<"asr${s}${p} $Rd, $Rn, $Rm",
-                        (ins GPRnopc:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
+                        (ins GPR:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
                              cc_out:$s)>;
 def LSRr : ARMAsmPseudo<"lsr${s}${p} $Rd, $Rn, $Rm",
-                        (ins GPRnopc:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
+                        (ins GPR:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
                              cc_out:$s)>;
 def LSLr : ARMAsmPseudo<"lsl${s}${p} $Rd, $Rn, $Rm",
-                        (ins GPRnopc:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
+                        (ins GPR:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
                              cc_out:$s)>;
 def RORr : ARMAsmPseudo<"ror${s}${p} $Rd, $Rn, $Rm",
-                        (ins GPRnopc:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
+                        (ins GPR:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p,
                              cc_out:$s)>;
 }

kernel patch:
wip.patch.txt

@nickdesaulniers
Copy link
Member

@nickdesaulniers
Copy link
Member

@nickdesaulniers nickdesaulniers self-assigned this Jan 28, 2021
@nickdesaulniers nickdesaulniers added [BUG] linux A bug that should be fixed in the mainline kernel. [BUG] llvm (main) A bug in an unreleased version of LLVM (this label is appropriate for regressions) and removed [BUG] Untriaged Something isn't working labels Jan 28, 2021
@jcai19
Copy link
Member

jcai19 commented Jan 28, 2021

@arndb I tried with stock LLVM and it was able to assemble .ascii "and" "cs" "" " r2, r" "3" ", r" "2" ", lsr #458. The support to space in .ascii was first added to IAS in llvm/llvm-project@e0963ae274be, but got temporarily reverted at llvm/llvm-project@82c4153e66fa for a test failure (which turned out to be a false-positive). It was then relanded again in llvm/llvm-project@9dfeec8. Is it possible that the Clang version you used fell into this range?

@arndb
Copy link
Author

arndb commented Jan 28, 2021 via email

@nickdesaulniers
Copy link
Member

@arndb noted that arch/arm/probes/kprobes/test-thumb.c also has a similar issue with CONFIG_THUMB2_KERNEL.

@nickdesaulniers nickdesaulniers added the [PATCH] Submitted A patch has been submitted for review label Jan 28, 2021
fengguang pushed a commit to 0day-ci/linux that referenced this issue Jan 30, 2021
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.

The document "Assembly language changes after RVCTv2.1" was very
helpful.

This exposed a bug in Clang's integrated assembler, which hopefully will
land in clang-12, but is required to test this patch with LLVM_IAS=1.

Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux#1271
Link: https://reviews.llvm.org/D95586
Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this issue Jan 31, 2021
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.

The document "Assembly language changes after RVCTv2.1" was very
helpful.

This exposed a bug in Clang's integrated assembler, which hopefully will
land in clang-12, but is required to test this patch with LLVM_IAS=1.

Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux#1271
Link: https://reviews.llvm.org/D95586
Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this issue Feb 3, 2021
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.

The document "Assembly language changes after RVCTv2.1" was very
helpful.

This exposed a bug in Clang's integrated assembler, which hopefully will
land in clang-12, but is required to test this patch with LLVM_IAS=1.

Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux#1271
Link: https://reviews.llvm.org/D95586
Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this issue Feb 6, 2021
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.

The document "Assembly language changes after RVCTv2.1" was very
helpful.

  movs  pc, r1, lsl r2

is converted to be open coded via __inst_arm. The resolution of a
discussion on the below linked discussion on an LLVM patch was that this
form of this instruction is unpredictable, and should not be supported
by LLVM.

Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux#1271
Link: https://reviews.llvm.org/D95586
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
@nickdesaulniers
Copy link
Member

fengguang pushed a commit to 0day-ci/linux that referenced this issue Feb 11, 2021
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

  The term UNPREDICTABLE describes a number of cases where the
  architecture has a feature that software must not use.

Link: ClangBuiltLinux#1271
Link: https://reviews.llvm.org/D95586
Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this issue Feb 11, 2021
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux#1271
Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Mashopy pushed a commit to Mashopy/android_kernel_huawei_sm8325 that referenced this issue May 2, 2024
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
Mashopy pushed a commit to Mashopy/android_kernel_huawei_sm8325 that referenced this issue May 2, 2024
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
Pascoato pushed a commit to Pascoato/android_kernel_xiaomi_lahaina that referenced this issue May 7, 2024
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
Pascoato pushed a commit to Pascoato/android_kernel_xiaomi_lahaina that referenced this issue May 7, 2024
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
TogoFire pushed a commit to dev-sm8350/kernel_oneplus_sm8350 that referenced this issue May 19, 2024
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Change-Id: I0b5a5c5ccb963e3a54611c8077ec108001328d81
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
(cherry picked from commit 27866eb)
Signed-off-by: TogoFire <[email protected]>
TogoFire pushed a commit to dev-sm8350/kernel_oneplus_sm8350 that referenced this issue May 19, 2024
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Change-Id: I481191e29bc74f0e90eaa726a97a2c9c9fcd8957
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
(cherry picked from commit e229ab3)
Signed-off-by: TogoFire <[email protected]>
ElectroPerf pushed a commit to aospa-dubai/android_kernel_motorola_sm7325 that referenced this issue Jun 18, 2024
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
ElectroPerf pushed a commit to aospa-dubai/android_kernel_motorola_sm7325 that referenced this issue Jun 18, 2024
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
ElectroPerf pushed a commit to aospa-dubai/android_kernel_motorola_sm7325 that referenced this issue Jun 18, 2024
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
ElectroPerf pushed a commit to aospa-dubai/android_kernel_motorola_sm7325 that referenced this issue Jun 18, 2024
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
Theimposter65 pushed a commit to Theimposter65/android_kernel_motorola_sm6375 that referenced this issue Jun 24, 2024
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
Theimposter65 pushed a commit to Theimposter65/android_kernel_motorola_sm6375 that referenced this issue Jun 24, 2024
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
utkustnr pushed a commit to utkustnr/android_kernel_samsung_a73xq that referenced this issue Jan 24, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
prabhatKrMishra pushed a commit to prabhatKrMishra/kernel_motorola_g45 that referenced this issue Apr 17, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
prabhatKrMishra pushed a commit to prabhatKrMishra/kernel_motorola_g45 that referenced this issue Apr 17, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
saadelasfur pushed a commit to saadelasfur/android_kernel_samsung_sm7325 that referenced this issue Apr 27, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
Signed-off-by: Saad <[email protected]>
saadelasfur pushed a commit to saadelasfur/android_kernel_samsung_sm7325 that referenced this issue Apr 27, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
Signed-off-by: Saad <[email protected]>
prabhatKrMishra pushed a commit to prabhatKrMishra/kernel_motorola_g45 that referenced this issue Apr 29, 2025
GNU as warns twice for this file:
Warning: using r15 results in unpredictable behaviour

via the Arm ARM:
K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors

The term UNPREDICTABLE describes a number of cases where the
architecture has a feature that software must not use.

Ard notes:
These are selftests that aim to ensure that kprobe never attempts to
replace the opcodes in question with a probe, but they are not
actually executed, or expected to occur in real code.

Reported-by: kernelci.org bot <[email protected]>
Suggested-by: Peter Smith <[email protected]>
Suggested-by: Renato Golin <[email protected]>
Suggested-by: David Spickett <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: ClangBuiltLinux/linux#1271
Link: https://reviews.llvm.org/D95586
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: I42333d7e64a98f739ab13916f61a587143fec7f8
prabhatKrMishra pushed a commit to prabhatKrMishra/kernel_motorola_g45 that referenced this issue Apr 29, 2025
Clang's integrated assembler only accepts UAL syntax, rewrite the
instructions that were changed by RVCTv2.1.  The document "Assembly
language changes after RVCTv2.1" was very helpful.

  .syntax unified

directive is added, since -masm-syntax-unified is unreliable for older
but supported versions of GCC. See also:

commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")

Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
Link: ClangBuiltLinux/linux#1271
Bug: 141693040
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Change-Id: Icbd266fce538460c64900e2fa0f032561e208363
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.13 This bug was fixed in Linux 5.13 [TOOL] integrated-as The issue is relevant to LLVM integrated assembler
Projects
None yet
Development

No branches or pull requests

3 participants