diff options
author | David Hu <david.hu@arm.com> | 2019-12-11 14:42:04 +0800 |
---|---|---|
committer | David Hu <david.hu@arm.com> | 2019-12-12 11:14:19 +0800 |
commit | 3813f72e0c0333f861e37c379c34da3e2e30d9e9 (patch) | |
tree | 8e37a8e5d101d908a290c72ae2a80259c4941bc6 | |
parent | 0a78fef8c4525b0ec0e6facf4a7d179fe987f6eb (diff) | |
download | trusted-firmware-m-3813f72e0c0333f861e37c379c34da3e2e30d9e9.tar.gz |
Platform: Fix XXX_ATTR_FN section label in GNUARM linker script
In GNUARM linker script, XXX_ATTR_FN sections of Application RoT
Secure Partitions are actually named as XXX_LD_ATTR_FN.
GNUARM cannot get the exact section to place XXX_ATTR_FN from
Application RoT Secure Partitions.
Therefore, GNUARM may put those Application RoT sections into
incorrect memory space or incorrectly link them.
Fix XXX_ATTR_FN labels for Application RoT Secure Partitions to
solve the issue.
Change-Id: Iad9a7db94ac6f04eb38b058124a22ce07bf90b96
Signed-off-by: David Hu <david.hu@arm.com>
-rw-r--r-- | platform/ext/common/gcc/tfm_common_s.ld | 20 | ||||
-rw-r--r-- | platform/ext/common/gcc/tfm_common_s.ld.template | 2 |
2 files changed, 11 insertions, 11 deletions
diff --git a/platform/ext/common/gcc/tfm_common_s.ld b/platform/ext/common/gcc/tfm_common_s.ld index c0af62fc48..53500b7c1f 100644 --- a/platform/ext/common/gcc/tfm_common_s.ld +++ b/platform/ext/common/gcc/tfm_common_s.ld @@ -272,7 +272,7 @@ SECTIONS { *tfm_storage*:*(.text*) *tfm_storage*:*(.rodata*) - *(TFM_SP_STORAGE_LD_ATTR_FN) + *(TFM_SP_STORAGE_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_STORAGE_LINKER$$RO$$Base = ADDR(.TFM_SP_STORAGE_LINKER); @@ -284,7 +284,7 @@ SECTIONS { *tfm_internal_trusted_storage*:*(.text*) *tfm_internal_trusted_storage*:*(.rodata*) - *(TFM_SP_ITS_LD_ATTR_FN) + *(TFM_SP_ITS_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_ITS_LINKER$$RO$$Base = ADDR(.TFM_SP_ITS_LINKER); @@ -297,7 +297,7 @@ SECTIONS { *tfm_audit*:*(.text*) *tfm_audit*:*(.rodata*) - *(TFM_SP_AUDIT_LOG_LD_ATTR_FN) + *(TFM_SP_AUDIT_LOG_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_AUDIT_LOG_LINKER$$RO$$Base = ADDR(.TFM_SP_AUDIT_LOG_LINKER); @@ -310,7 +310,7 @@ SECTIONS { *tfm_crypto*:*(.text*) *tfm_crypto*:*(.rodata*) - *(TFM_SP_CRYPTO_LD_ATTR_FN) + *(TFM_SP_CRYPTO_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_CRYPTO_LINKER$$RO$$Base = ADDR(.TFM_SP_CRYPTO_LINKER); @@ -323,7 +323,7 @@ SECTIONS { *tfm_platform*:*(.text*) *tfm_platform*:*(.rodata*) - *(TFM_SP_PLATFORM_LD_ATTR_FN) + *(TFM_SP_PLATFORM_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_PLATFORM_LINKER$$RO$$Base = ADDR(.TFM_SP_PLATFORM_LINKER); @@ -336,7 +336,7 @@ SECTIONS { *tfm_attest*:*(.text*) *tfm_attest*:*(.rodata*) - *(TFM_SP_INITIAL_ATTESTATION_LD_ATTR_FN) + *(TFM_SP_INITIAL_ATTESTATION_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_INITIAL_ATTESTATION_LINKER$$RO$$Base = ADDR(.TFM_SP_INITIAL_ATTESTATION_LINKER); @@ -349,7 +349,7 @@ SECTIONS { *tfm_ss_core_test.*(.text*) *tfm_ss_core_test.*(.rodata*) - *(TFM_SP_CORE_TEST_LD_ATTR_FN) + *(TFM_SP_CORE_TEST_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_CORE_TEST_LINKER$$RO$$Base = ADDR(.TFM_SP_CORE_TEST_LINKER); @@ -379,7 +379,7 @@ SECTIONS *secure_suites.*(.rodata*) *attestation_s_interface_testsuite.*(.text*) *attestation_s_interface_testsuite.*(.rodata*) - *(TFM_SP_SECURE_TEST_PARTITION_LD_ATTR_FN) + *(TFM_SP_SECURE_TEST_PARTITION_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_SECURE_TEST_PARTITION_LINKER$$RO$$Base = ADDR(.TFM_SP_SECURE_TEST_PARTITION_LINKER); @@ -393,7 +393,7 @@ SECTIONS { *ipc_service_test.*(.text*) *ipc_service_test.*(.rodata*) - *(TFM_SP_IPC_SERVICE_TEST_LD_ATTR_FN) + *(TFM_SP_IPC_SERVICE_TEST_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_IPC_SERVICE_TEST_LINKER$$RO$$Base = ADDR(.TFM_SP_IPC_SERVICE_TEST_LINKER); @@ -407,7 +407,7 @@ SECTIONS { *tfm_sst_test_service.*(.text*) *tfm_sst_test_service.*(.rodata*) - *(TFM_SP_SST_TEST_LD_ATTR_FN) + *(TFM_SP_SST_TEST_ATTR_FN) . = ALIGN(32); } > FLASH Image$$TFM_SP_SST_TEST_LINKER$$RO$$Base = ADDR(.TFM_SP_SST_TEST_LINKER); diff --git a/platform/ext/common/gcc/tfm_common_s.ld.template b/platform/ext/common/gcc/tfm_common_s.ld.template index c9f6944456..cb34b457f1 100644 --- a/platform/ext/common/gcc/tfm_common_s.ld.template +++ b/platform/ext/common/gcc/tfm_common_s.ld.template @@ -159,7 +159,7 @@ SECTIONS {{pattern}}(.rodata*) {% endfor %} {% endif %} - *({{manifest.manifest.name}}_LD_ATTR_FN) + *({{manifest.manifest.name}}_ATTR_FN) . = ALIGN(32); } > FLASH Image$${{manifest.manifest.name}}_LINKER$$RO$$Base = ADDR(.{{manifest.manifest.name}}_LINKER); |