O que são .LFB .LBB .LBE .LVL .loc no código de montagem gerado pelo compilador

Quando olho para o código de montagem gerado pelo GCC, há muitas linhas começando com.LBB e um número Parece que eles não são instruções de operações. É mais como marcar algo do arquivo ou o quê.

O que são.LFB,.LVL, LBB, LBE etc estão no código de montagem gerado pelo compilador? O .loc significa "linha de código". Essas linhas indicam apenassymbol table?

Aqui está um pedaço de código,

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

questionAnswers(2)

yourAnswerToTheQuestion