Hi Bohdan,

What is Clang version you are using?

 

Thanks,

Anton

 

From: Bohdan.Hunko--- via TF-M <tf-m@lists.trustedfirmware.org>
Sent: Monday, December 11, 2023 12:58 PM
To: tf-m@lists.trustedfirmware.org
Subject: [TF-M] Weird behavior of Clang linker

 

Hi all,

 

Our platform uses 4KBs alignment in linker files (as this is the requirement of our protection HW).

 

For this reasons I have introduced tfm_s_linker_alignments.h.

 

Everything works fine with GCC but we have a problem with Clang. The problem is that Clang requires LR_CODE to have same alignment as other sections inside of it.

 

Following are the steps to reproduce the issue:

  1. Set TFM_LINKER_DEFAULT_ALIGNMENT to 0x1000 in tfm_s_linker_alignments.h
  2. Build AN521 with following command line
    cmake -S . -B build_an521 -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=./toolchain_ARMCLANG.cmake

 

 

Expected result:

Everything works fine

 

Actual result:

                Error: L6244E: Load region LR_CODE address (0x10080400) not aligned on a 4096 byte boundary.

 

This error is weird because there is no explicit alignment assigned to LR_CODE region.

 

Would appreciate a help on this as it is a blocking issue for us.

 

Regards,

Bohdan Hunko

 

Cypress Semiconductor Ukraine

Engineer

CSUKR CSS ICW SW FW

Mobile: +38099 50 19 714
Bohdan.Hunko@infineon.com