mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
bfd: fix recognition of arch-specific augmentations
This patch fixes _bfd_elf_parse_eh_frame so it will not recognize machine/architecture specific augmentation characters in EH Frame CFIs. Regtested in x86_64-linux-gnu and aarch64-linux-gnu. bfd/ChangeLog: * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Recognize augmentation 'B' only if targetting aarch64.
This commit is contained in:
@@ -802,6 +802,8 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
|
||||
switch (*aug++)
|
||||
{
|
||||
case 'B':
|
||||
if (abfd->arch_info->arch != bfd_arch_aarch64)
|
||||
goto unrecognized;
|
||||
break;
|
||||
case 'L':
|
||||
REQUIRE (read_byte (&buf, end, &cie->lsda_encoding));
|
||||
@@ -843,6 +845,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
|
||||
REQUIRE (skip_bytes (&buf, end, per_width));
|
||||
}
|
||||
break;
|
||||
unrecognized:
|
||||
default:
|
||||
/* Unrecognized augmentation. Better bail out. */
|
||||
goto free_no_table;
|
||||
|
||||
Reference in New Issue
Block a user