FemtoFarad
FemtoFarad

Reputation: 93

What does code pattern like .size X,.-X do?

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?

Upvotes: 9

Views: 2463

Answers (1)

Colin
Colin

Reputation: 3524

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.

Upvotes: 8

Related Questions