ARMCC to ARMCLANG ( V5 to V6 ) migration, LTO (Link time optimization ) error. (Size optimization)

Hi,

I am migrating my project from ARMCC to ARMCLANG, I am keeping the ARMASM as my assembler for assembly files. I am able to compile my project with the modifications for ARMCLANG.

 The newly compiled project exceeds the microcontroller space, I would like to optimize the code for size.  Compiler option -Oz image size is not helping much.

We have observed that Cross module optimization in ARMCC is helping in reduction of code. Would like to perform LTO in ARMCLANG  .

On enabling the LTO option I am getting the following error: 

.\PIM.axf: Error: L6248E: lto-llvm-1af9b3.o(.text.GetMMMXXX) in PI region 'ER_RO' cannot have address type relocation to [Anonymous Symbol] in PI region 'ER_RO'.
.\PIM.axf: Error: L6248E: lto-llvm-1af9b3.o(.text.PIM_GetMMMXXXLL) in PI region 'ER_RO' cannot have address type relocation to [Anonymous Symbol] in PI region 'ER_RO'.
.\PIM.axf: Error: L6285E: Non-relocatable Load region LR_1 contains R-Type dynamic relocations. First R-Type dynamic relocation found in lto-llvm-1af9b3.o(.text.GetMMMXXX) at offset 0x1a8.

Do we need a .sct file for LTO.

regards,

Rajath