My question is about some popular but not well documented code I have found in ARM CORTEX M startup files like this STM32.
The 'pattern' is:
.size X,.-X
,where X is a symbol or label.
I have found this answer and understand how .size directive and dot special symbol work, but still complete line seems to do nothing to me. The result of the operation .-X isn't stored anywhere.
Could anybody explain what the line does?
That is placed at the end of function X, and the size of the function is the difference between the end of the function and the beginning. .
is the current location so it's saying .size x is the difference between here and the label x
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With