Mapping symbols are generated by armcc and armasm to identify inline transitions between:
code and data at literal pool boundaries
ARM code and Thumb code, such as ARM/Thumb interworking veneers.
The mapping symbols are:
start of a sequence of ARM instructions
start of a sequence of Thumb instructions
start of a sequence of ThumbEE instructions
start of a sequence of data items, such as a literal pool.
armlink generates the
symbol to communicate to fromelf that the data
is from a non-executable section. Therefore, the code and data sizes
output by fromelf -z are the same as the output
from armlink --info sizes, for example:
Code (inc. data) RO Data x y z
In this example, the
y is marked with
RO Data is marked with
Symbols beginning with the characters
mapping symbols related to VFP and might be output when building
for a target with VFP. Avoid using symbols beginning with
your source code.
Be aware that modifying an executable image with the fromelf --elf --strip=localsymbols command removes all mapping symbols from the image.