From 2b4dfaf8b03d3a69581b1e3373e673841ea61469 Mon Sep 17 00:00:00 2001 From: sekior11 <2784683112@qq.com> Date: Mon, 14 Sep 2026 16:02:05 +0800 Subject: [PATCH] portable: remove stray installer URL from IAR TrustZone non-secure ports A stray IAR installer download URL was left outside the comment delimiters in the restore_special_regs section of the IAR TrustZone non-secure ports. The assembler parses the bare URL as an operand of the preceding ldmia, so any build of these ports aborts with: Error: garbage following instruction -- 'ldmia r2!,{r0,r3,lr} http:' The line is outside the configENABLE_PAC conditional block, so it breaks every configuration of the port, not only PAC-enabled builds. Commit 78e0cc7 ("ARMv8.1-M: Add task dedicated PAC key support", #1195) introduced the URL in the CM33/CM35P/CM55/CM85 and ARMv8M non-secure ports. The CM52 (#1334) and STAR-MC3 (#1363) ports inherited it when their portasm.s was created from an already-affected file. The stray URL is removed rather than moved inside the comment, matching the unaffected sibling port ARM_CM23/non_secure/portasm.s, which carries the same comment text without any URL. Verified with arm-none-eabi-gcc 13.3.1: all six files fail to assemble before the change and assemble cleanly after it. Relates to #1480. The ARM_CM33 non-secure port is handled separately by #1485, so it is intentionally not touched here. --- portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s | 2 +- portable/IAR/ARM_CM35P/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM52/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM55/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM85/non_secure/portasm.s | 2 +- portable/IAR/ARM_STAR_MC3/non_secure/portasm.s | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s index 47fcfa15b..7cb05a19b 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s @@ -473,7 +473,7 @@ PendSV_Handler: msr PAC_KEY_P_0, r6 clrm {r3-r6} /* Clear r3-r6. */ #endif /* configENABLE_PAC */ - ldmia r2!, {r0, r3, lr} http://files.iar.com/ftp/pub/box/bxarm-9.60.3.deb/* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ + ldmia r2!, {r0, r3, lr} /* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ msr psplim, r3 /* Restore the PSPLIM register value for the task. */ ldr r3, =xSecureContext /* Read the location of xSecureContext i.e. &( xSecureContext ). */ str r0, [r3] /* Restore the task's xSecureContext. */ diff --git a/portable/IAR/ARM_CM35P/non_secure/portasm.s b/portable/IAR/ARM_CM35P/non_secure/portasm.s index 47fcfa15b..7cb05a19b 100644 --- a/portable/IAR/ARM_CM35P/non_secure/portasm.s +++ b/portable/IAR/ARM_CM35P/non_secure/portasm.s @@ -473,7 +473,7 @@ PendSV_Handler: msr PAC_KEY_P_0, r6 clrm {r3-r6} /* Clear r3-r6. */ #endif /* configENABLE_PAC */ - ldmia r2!, {r0, r3, lr} http://files.iar.com/ftp/pub/box/bxarm-9.60.3.deb/* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ + ldmia r2!, {r0, r3, lr} /* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ msr psplim, r3 /* Restore the PSPLIM register value for the task. */ ldr r3, =xSecureContext /* Read the location of xSecureContext i.e. &( xSecureContext ). */ str r0, [r3] /* Restore the task's xSecureContext. */ diff --git a/portable/IAR/ARM_CM52/non_secure/portasm.s b/portable/IAR/ARM_CM52/non_secure/portasm.s index 47fcfa15b..7cb05a19b 100644 --- a/portable/IAR/ARM_CM52/non_secure/portasm.s +++ b/portable/IAR/ARM_CM52/non_secure/portasm.s @@ -473,7 +473,7 @@ PendSV_Handler: msr PAC_KEY_P_0, r6 clrm {r3-r6} /* Clear r3-r6. */ #endif /* configENABLE_PAC */ - ldmia r2!, {r0, r3, lr} http://files.iar.com/ftp/pub/box/bxarm-9.60.3.deb/* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ + ldmia r2!, {r0, r3, lr} /* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ msr psplim, r3 /* Restore the PSPLIM register value for the task. */ ldr r3, =xSecureContext /* Read the location of xSecureContext i.e. &( xSecureContext ). */ str r0, [r3] /* Restore the task's xSecureContext. */ diff --git a/portable/IAR/ARM_CM55/non_secure/portasm.s b/portable/IAR/ARM_CM55/non_secure/portasm.s index 47fcfa15b..7cb05a19b 100644 --- a/portable/IAR/ARM_CM55/non_secure/portasm.s +++ b/portable/IAR/ARM_CM55/non_secure/portasm.s @@ -473,7 +473,7 @@ PendSV_Handler: msr PAC_KEY_P_0, r6 clrm {r3-r6} /* Clear r3-r6. */ #endif /* configENABLE_PAC */ - ldmia r2!, {r0, r3, lr} http://files.iar.com/ftp/pub/box/bxarm-9.60.3.deb/* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ + ldmia r2!, {r0, r3, lr} /* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ msr psplim, r3 /* Restore the PSPLIM register value for the task. */ ldr r3, =xSecureContext /* Read the location of xSecureContext i.e. &( xSecureContext ). */ str r0, [r3] /* Restore the task's xSecureContext. */ diff --git a/portable/IAR/ARM_CM85/non_secure/portasm.s b/portable/IAR/ARM_CM85/non_secure/portasm.s index 47fcfa15b..7cb05a19b 100644 --- a/portable/IAR/ARM_CM85/non_secure/portasm.s +++ b/portable/IAR/ARM_CM85/non_secure/portasm.s @@ -473,7 +473,7 @@ PendSV_Handler: msr PAC_KEY_P_0, r6 clrm {r3-r6} /* Clear r3-r6. */ #endif /* configENABLE_PAC */ - ldmia r2!, {r0, r3, lr} http://files.iar.com/ftp/pub/box/bxarm-9.60.3.deb/* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ + ldmia r2!, {r0, r3, lr} /* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ msr psplim, r3 /* Restore the PSPLIM register value for the task. */ ldr r3, =xSecureContext /* Read the location of xSecureContext i.e. &( xSecureContext ). */ str r0, [r3] /* Restore the task's xSecureContext. */ diff --git a/portable/IAR/ARM_STAR_MC3/non_secure/portasm.s b/portable/IAR/ARM_STAR_MC3/non_secure/portasm.s index 47fcfa15b..7cb05a19b 100644 --- a/portable/IAR/ARM_STAR_MC3/non_secure/portasm.s +++ b/portable/IAR/ARM_STAR_MC3/non_secure/portasm.s @@ -473,7 +473,7 @@ PendSV_Handler: msr PAC_KEY_P_0, r6 clrm {r3-r6} /* Clear r3-r6. */ #endif /* configENABLE_PAC */ - ldmia r2!, {r0, r3, lr} http://files.iar.com/ftp/pub/box/bxarm-9.60.3.deb/* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ + ldmia r2!, {r0, r3, lr} /* Read from stack - r0 = xSecureContext, r3 = PSPLIM and LR restored. */ msr psplim, r3 /* Restore the PSPLIM register value for the task. */ ldr r3, =xSecureContext /* Read the location of xSecureContext i.e. &( xSecureContext ). */ str r0, [r3] /* Restore the task's xSecureContext. */