A fusão desta semana com o GNU Binutils é o suporte inicial para leitura e gravação em novas seções "SFrame" de binários.
O SFrame é a abreviação de Simple Frame Format e serve para manter a quantidade mínima de informações necessárias para o desenrolamento da pilha. A esperança com o SFrame é permitir um rastreamento on-line rápido usando um desbobinador simples.
Este trabalho Sframe para GNU Binutils foi liderado por Indu Bhagat da Oracle. O GNU Assembler "Gas" adicionou uma nova opção "--gsframe" para gerar seções .sframe .
gas interpreta as diretivas CFI para gerar informações .eh_frame baseadas em DWARF. Essas estruturas DWARF internas agora são consumidas pelo subsistema gen-sframe.[ch] para, por sua vez, criar as informações de desenrolamento do SFrame. Essas estruturas DWARF internas são somente leitura para fins de geração de informações de desenrolamento do SFrame.
A geração de informações de desenrolamento Sframe não afeta a geração de informações de desenrolamento .eh_frame. Ambos .eh_frame e .sframe podem coexistir em um arquivo ELF, se assim for desejado pelo usuário.
Lembre-se de que as informações de desenrolamento do SFrame contêm apenas as informações mínimas necessárias para gerar backtraces e não fornecem informações para recuperar todos os registros salvos pelo chamado. A razão é que os registradores salvos pelo callee, exceto FP, não são necessários para o desenrolamento da pilha e, portanto, não são incluídos na seção .sframe.
O GNU Binutils também fundiu libsframe como a biblioteca para decodificar as seções .sframe, inspecionar seções .sframe e manipulação relacionada. Readelf e objdump do Binutil também foram atualizados com suporte para leitura das novas seções SFrame quando presentes e usando a nova opção "--sframe".
Este trabalho SFrame está atualmente focado em alvos x86_64 e AArch64. Embora esse trabalho inicial do GNU Binutils tenha sido mesclado, o desbobinador SFrame ainda não foi upstream.
Consulte os novos commits do SFrame para obter mais detalhes sobre este trabalho para desenrolar pilha simples e, em particular, é o novo arquivo de especificações do SFrame para os interessados no formato.
Até a próxima !!
Nenhum comentário:
Postar um comentário