mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
RISC-V: Make riscv_is_mapping_symbol stricter
riscv_is_mapping_symbol currently accepts any symbol that starts with $x or $d. This patch makes the check more strict, requiring exactly $x, $d, or $xrv. It also makes use of this stricter mapping in riscv_is_valid_mapping_symbol. ChangeLog: * bfd/cpu-riscv.c (riscv_elf_is_mapping_symbols): Match only strings that are exactly $x, $d, or $xrv. * opcodes/riscv-dis.c (riscv_is_valid_mapping_symbol): Use riscv_elf_is_mapping_symbols. Signed-off-by: Patrick O'Neill <patrick@rivosinc.com>
This commit is contained in:
parent
8321007a98
commit
2b33b0d960
@ -147,6 +147,7 @@ riscv_get_priv_spec_class_from_numbers (unsigned int major,
|
||||
bool
|
||||
riscv_elf_is_mapping_symbols (const char *name)
|
||||
{
|
||||
return (!strncmp (name, "$d", 2)
|
||||
|| !strncmp (name, "$x", 2));
|
||||
return (!strcmp (name, "$d")
|
||||
|| !strcmp (name, "$x")
|
||||
|| !strncmp (name, "$xrv", 4));
|
||||
}
|
||||
|
@ -957,9 +957,7 @@ riscv_is_valid_mapping_symbol (int n,
|
||||
return false;
|
||||
|
||||
name = bfd_asymbol_name(info->symtab[n]);
|
||||
return (strcmp (name, "$x") == 0
|
||||
|| strcmp (name, "$d") == 0
|
||||
|| strncmp (name, "$xrv", 4) == 0);
|
||||
return riscv_elf_is_mapping_symbols (name);
|
||||
}
|
||||
|
||||
/* Check the sorted symbol table (sorted by the symbol value), find the
|
||||
|
Loading…
Reference in New Issue
Block a user