Align all linker sections on 16 bytes
Dear STM32 support team,
I am trying to align all my code on 16 bytes using the linkerscript directives.
Unfortunately .ARM section is resisting all my attempts (and it’s the only one :/ )
The linkerscript directive:
.ARM : {
. = ALIGN(16);
__exidx_start = .;
. = ALIGN(16);
*(.ARM.exidx*)
. = ALIGN(16);
__exidx_end = .;
. = ALIGN(16);
}
results after compilation in the following error:
./lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld: .ARM has both ordered and unordered sections
/$MY_HOMEPATH/fr.ac6.mcu.externaltools.arm-none.linux64_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld: final link failed: Bad value
I also tried to include this section using a *.text wild card like this:
.text :
{
. = ALIGN(16);
*(*.text*)
. = ALIGN(16);
}
but the result is the same.
Could you help me to sort this issue out? Is it a way to align this section on 16 bytes.
Thank you and best regards,
Sylvain