Что такое .LFB .LBB .LBE .LVL .loc в сгенерированном компилятором коде сборки

Когда я смотрю на ассемблерный код, сгенерированный GCC, есть много строк, начинающихся с.LBB и номер. Кажется, что они не являются инструкциями операций. Больше похоже на маркировку чего-то из файла или что-то.

Что.LFB.LVL, LBB, LBE и т.д. находятся в сгенерированном компилятором коде сборки? Означает ли .loc «строку кода». Эти строки просто указываютsymbol table?

Вот кусок кода,

main:
.LFB1:
  .loc 1 8 0
  .cfi_startproc
.LVL2:
.LBB4:
.LBB5:
  .loc 1 2 0
  movsd b(%rip), %xmm0
.LBE5:
.LBE4:
  .loc 1 10 0
  xorl  %eax, %eax
.LBB7:
.LBB6:
  .loc 1 2 0
  mulsd a(%rip), %xmm0
.LBE6:
.LBE7:
  .loc 1 9 0
  movsd %xmm0, a(%rip)
.LVL3:
  .loc 1 10 0
  ret
  .cfi_endproc

Ответы на вопрос(2)

Ваш ответ на вопрос