This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ARM linker 5.1.1 doesn't produce a warning #10247-D for the ".stack" section without a SECTIONS specification

Other Parts Discussed in Thread: RM42L432, CONTROLSUITE

The attached 8203.rm42_hello_world.zip is a CCS 5.5 project for a RM42L432 in which the SECTIONS in the RM42L432FlashLnk.cmd linker command file contains no placement for the .sysmem and .stack sections.

As expected, the ARM linker 5.1.1 then choses a default placement for the .sysmem and .stack sections which happens to be in flash as shown from the rm42_hellow_world.map linker map file:

run origin  load origin   length   init length attrs members
----------  ----------- ---------- ----------- ----- -------
00000020    00000020    00004de4   00004de4    r-x
  00000020    00000020    00004ce0   00004ce0    r-x .text
  00004d00    00004d00    00000104   00000104    r-- .const
00004e04    00004e04    00000800   00000000    rw-
  00004e04    00004e04    00000800   00000000    rw- .stack
00005608    00005608    00000800   00000000    rw-
  00005608    00005608    00000800   00000000    rw- .sysmem
00005e08    00005e08    000000d0   000000d0    r--
  00005e08    00005e08    000000d0   000000d0    r-- .cinit
08000400    08000400    000004f8   00000000    rw-
  08000400    08000400    00000330   00000000    rw- .data
  08000730    08000730    000001c8   00000000    rw- .bss

However, the linker only produces a warning #10247-D for the .sysmem section:

'Building target: rm42_hello_world.out'
'Invoking: ARM Linker'
"C:/ti_ccs5_5/ccsv5/tools/compiler/arm_5.1.1/bin/armcl" -mv7R4 --code_state=32 --abi=eabi -me -g --diag_warning=225 --display_error_number --diag_wrap=off --enum_type=packed -z -m"rm42_hello_world.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti_ccs5_5/ccsv5/tools/compiler/arm_5.1.1/lib" -i"C:/ti_ccs5_5/ccsv5/tools/compiler/arm_5.1.1/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="rm42_hello_world_linkInfo.xml" --rom_model -o "rm42_hello_world.out"  "./main.obj" "../RM42L432FlashLnk.cmd" -l"libc.a"
<Linking>
warning #10247-D: creating output section ".sysmem" without a SECTIONS specification
'Finished building target: rm42_hello_world.out'

If the RM42L432FlashLnk.cmd was changed to add an entry to the SECTIONS to place .sysmem in RAM then no warnings were output by the linker, and the .stack section was still placed in flash (because there was still no placement for the .stack section). i.e. the ARM linker appears to perform a default placement for the .stack section without issuing a "warning #10247-D: creating output section ".stack" without a SECTIONS specification".

Is this correct?