0
#define START_GOT \
 .section ".got2","aw";\
.LCTOC1 = .+32768

Is .LCTOC1 is a directive? Why is there a . before +32768?

JMK
  • 27,273
  • 52
  • 163
  • 280
Zhang Baolei
  • 95
  • 1
  • 10

1 Answers1

3

The . (dot) is a special symbol that represents the location the current line is assembling into.

So, the expression .+32768 means "32 KB from here", and that value is given the symbolic name .LCTOC1.

Note that the .section directive which is also in the macro definition might change the value of ., i.e. the current location since it begins a new section called .got2. The "aw" argument means just "writable" (the a is ignored).

unwind
  • 391,730
  • 64
  • 469
  • 606