binutils-gdb/include
Victor Do Nascimento 1bf6696b59 aarch64: system register aliasing detection
This patch adds a mechanism for system register name alias detection
to register-matching mechanisms.

A new `F_REG_ALIAS' flag is added to the set of register flags and
used to label which entries in aarch64_sys_regs[] correspond to
aliases (and thus which CPENC values are non-unique in this array).

Where this is used is, for example, in `aarch64_print_operand' where,
in the case of system register decoding, the aarch64_sys_regs[] array
is iterated through until a match in CPENC value is made and the first
match accepted.  If insufficient care is given in the ordering of
system registers in this array, the alias is encountered before the
"real" register and used incorrectly as the register name in the
disassembled output.

With this flag and the new `aarch64_sys_reg_alias_p' test, search
candidates corresponding to aliases can be conveniently skipped over.

One concrete example of where this is useful is with the
`trcextinselr0' system register.  It was initially placed in the
system register list before `trcextinselr', in contrast to a more
natural alphabetical order.

include/ChangeLog:
	* opcode/aarch64.h: add `aarch64_sys_reg_alias_p' prototype.

opcodes/ChangeLog:
	* aarch64-opc.c (aarch64_sys_reg_alias_p): New.
	(aarch64_print_operand): add aarch64_sys_reg_alias_p check.
	(aarch64_sys_regs): Add F_REG_ALIAS flag to "trcextinselr"
	entry.
	* aarch64-opc.h (F_REG_ALIAS): New.
2023-10-04 12:21:53 +01:00
..
aout Delete include/aout/encap.h 2023-05-30 12:51:22 +09:30
cgen Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
coff PE dos_message 2023-08-27 21:21:38 +09:30
elf x86-64: Add -z mark-plt and -z nomark-plt 2023-09-29 07:58:53 -07:00
gdb Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
mach-o Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
opcode aarch64: system register aliasing detection 2023-10-04 12:21:53 +01:00
sim sim: info: convert verbose field to a bool 2023-01-18 20:47:55 -05:00
som Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
vms Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
alloca-conf.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
ansidecl.h c++: source position of lambda captures [PR84471] 2023-08-12 09:58:22 +09:30
bfdlink.h ppc32 and "LOAD segment with RWX permissions" 2023-02-06 23:06:44 +10:30
binary-io.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
bout.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
ChangeLog Add support to readelf for the PT_OPENBSD_NOBTCFI segment type. 2023-09-28 13:39:01 +01:00
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-2016 ChangeLog rotation 2017-01-02 13:55:05 +10:30
ChangeLog-2017 ChangeLog rotation 2018-01-03 17:49:42 +10:30
ChangeLog-2018 ChangeLog rotation 2019-01-01 21:25:40 +10:30
ChangeLog-2019 ChangeLog rotation 2020-01-01 18:12:08 +10:30
ChangeLog-2020 ChangeLog rotation 2021-01-01 10:31:02 +10:30
ChangeLog-9103
collectorAPI.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
COPYING
COPYING3
ctf-api.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
ctf.h ctf: fix various dreadful typos in the ctf_archive format comments 2023-01-12 14:40:47 +00:00
demangle.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
diagnostics.h gdbsupport: ignore -Wenum-constexpr-conversion in enum-flags.h 2023-03-06 21:00:52 -05:00
dis-asm.h kvx: New port. 2023-08-16 14:22:54 +01:00
dwarf2.def Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
dwarf2.h Updated constants from <https://dwarfstd.org/Languages.php> 2023-08-12 09:58:22 +09:30
dyn-string.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
environ.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
fibheap.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
filenames.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
floatformat.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
fnmatch.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
fopen-bin.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
fopen-same.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
fopen-vms.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
gcc-c-fe.def Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
gcc-c-interface.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
gcc-cp-fe.def Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
gcc-cp-interface.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
gcc-interface.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
getopt.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
hashtab.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
hp-symtab.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
leb128.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
libcollector.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
libfcollector.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
libiberty.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
longlong.h LoongArch: implement count_{leading,trailing}_zeros 2023-08-12 09:58:22 +09:30
lto-symtab.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
MAINTAINERS Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
md5.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
oasys.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
objalloc.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
obstack.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
os9k.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
partition.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
plugin-api.h PR29961, plugin-api.h: "Could not detect architecture endianess" 2023-05-17 11:21:43 +09:30
safe-ctype.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
sframe-api.h sframe: bfd: gas: ld: format bump to SFrame version 2 2023-06-29 16:31:58 -07:00
sframe.h sframe: bfd: gas: ld: format bump to SFrame version 2 2023-06-29 16:31:58 -07:00
sha1.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
simple-object.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
sort.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
splay-tree.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
symcat.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
timeval-utils.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
vtv-change-permission.h Libvtv: Add loongarch support. 2023-08-12 09:58:22 +09:30
xregex.h
xregex2.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
xtensa-config.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
xtensa-dynconfig.h gcc: xtensa: add data alignment properties to dynconfig 2023-08-12 10:24:26 +09:30
xtensa-isa-internal.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
xtensa-isa.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30