Prior to this patch, the information describing the AArch64 system registers was separate from the information describing which system registers are available depending on the CPU feature set. Indeed, the latter was implemented as a separate function from the main table with the system register information. This patch remedies this situation and puts the feature information into the system register table itself. This has several advantages: * Having all the information described in one place is easier to maintain. * The logic to check whether a system register is supported now becomes trivial (and much more efficient). Since this patch ended up touching every line of the system register table, I took the opportunity to make the formatting more consistent and remove some redundant comments. Note that there is still more refactoring that could be done along the same lines here (e.g. with the TLB instructions) but this seemed like a reasonable first pass. Testing: * Regression tested an x64 -> aarch64-none-elf cross binutils. * Built aarch64-none-elf cross toolchain, checked newlib startup code still works. * Bootstrapped binutils on aarch64-linux-gnu, regression tested. * Built aarch64 kernel using new binutils with allyesconfig. OK for master? If so, I'll need a maintainer to commit on my behalf since I don't have write access. Thanks, Alex --- include/ChangeLog: 2020-06-11 Alex Coplan <alex.coplan@arm.com> * opcode/aarch64.h (aarch64_sys_reg): Add required features to struct describing system registers. opcodes/ChangeLog: 2020-06-11 Alex Coplan <alex.coplan@arm.com> * aarch64-opc.c (SYSREG): New macro for describing system registers. (SR_CORE): Likewise. (SR_FEAT): Likewise. (SR_RNG): Likewise. (SR_V8_1): Likewise. (SR_V8_2): Likewise. (SR_V8_3): Likewise. (SR_V8_4): Likewise. (SR_PAN): Likewise. (SR_RAS): Likewise. (SR_SSBS): Likewise. (SR_SVE): Likewise. (SR_ID_PFR2): Likewise. (SR_PROFILE): Likewise. (SR_MEMTAG): Likewise. (SR_SCXTNUM): Likewise. (aarch64_sys_regs): Refactor to store feature information in the table. (aarch64_sys_reg_supported_p): Collapse logic for system registers that now describe their own features. (aarch64_pstatefield_supported_p): Likewise.
351 lines
10 KiB
Plaintext
351 lines
10 KiB
Plaintext
2020-06-11 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* opcode/aarch64.h (aarch64_sys_reg): Add required features to struct
|
||
describing system registers.
|
||
|
||
2020-06-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf/mips.h (Elf32_RegInfo): Use fixed width integer types.
|
||
(Elf64_Internal_RegInfo, Elf_Internal_Options): Likewise.
|
||
|
||
2020-06-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf/ppc64.h (elf_ppc64_reloc_type): Rename
|
||
R_PPC64_GOT_TLSGD34 to R_PPC64_GOT_TLSGD_PCREL34,
|
||
R_PPC64_GOT_TLSLD34 to R_PPC64_GOT_TLSLD_PCREL34,
|
||
R_PPC64_GOT_TPREL34 to R_PPC64_GOT_TPREL_PCREL34, and
|
||
R_PPC64_GOT_DTPREL34 to R_PPC64_GOT_DTPREL_PCREL34.
|
||
|
||
2020-06-04 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* opcode/cgen.h: Get an `endian' argument in both
|
||
cgen_get_insn_value and cgen_put_insn_value.
|
||
|
||
2020-06-04 Jose E. Marchesi <jemarch@gnu.org>
|
||
|
||
* opcode/cgen.h (enum cgen_cpu_open_arg): New value
|
||
CGEN_CPU_OPEN_INSN_ENDIAN.
|
||
|
||
2020-06-03 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv.h: Remove #include "bfd.h". And change the return
|
||
types of riscv_get_isa_spec_class and riscv_get_priv_spec_class
|
||
from bfd_boolean to int.
|
||
|
||
2020-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 26044
|
||
* opcode/tilepro.h (TILEPRO_NUM_PIPELINE_ENCODINGS): Move to
|
||
tilepro_pipeline enum.
|
||
|
||
2020-05-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/22909
|
||
* bfdlink.h (textrel_check_method): New enum.
|
||
(bfd_link_textrel_check): New.
|
||
(bfd_link_info): Replace warn_shared_textrel and error_textrel
|
||
with textrel_check.
|
||
|
||
2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf/common.h: Update comments for ET_EXEC and ET_DYN.
|
||
|
||
2020-05-20 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv.h: Include "bfd.h" to support bfd_boolean.
|
||
(enum riscv_isa_spec_class): New enum class. All supported ISA spec
|
||
belong to one of the class
|
||
(struct riscv_ext_version): New structure holds version information
|
||
for the specific ISA.
|
||
* opcode/riscv-opc.h (DECLARE_CSR): There are two version information,
|
||
define_version and abort_version. The define_version means which
|
||
privilege spec is started to define the CSR, and the abort_version
|
||
means which privilege spec is started to abort the CSR. If the CSR is
|
||
valid for the newest spec, then the abort_version should be
|
||
PRIV_SPEC_CLASS_DRAFT.
|
||
(DECLARE_CSR_ALIAS): Same as DECLARE_CSR, but only for the obselete CSR.
|
||
* opcode/riscv.h (enum riscv_priv_spec_class): New enum class. Define
|
||
the current supported privilege spec versions.
|
||
(struct riscv_csr_extra): Add new fields to store more information
|
||
about the CSR. We use these information to find the suitable CSR
|
||
address when user choosing a specific privilege spec.
|
||
|
||
2020-05-19 Alexander Fedotov <alfedotov@gmail.com>
|
||
|
||
PR 25992
|
||
* opcode/arm.h (ARM_EXT2_V8R): Define. Modified ARM_AEXT2_V8R.
|
||
|
||
2020-05-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/ppc.h (PPC_OPERAND_ACC): Define. Renumber following
|
||
PPC_OPERAND defines.
|
||
|
||
2020-05-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf/ppc64.h: Update comment.
|
||
* opcode/ppc.h (PPC_OPCODE_POWER10): Rename from PPC_OPCODE_POWERXX.
|
||
|
||
2020-04-30 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): Add
|
||
AARCH64_OPND_UNDEFINED.
|
||
|
||
2020-04-23 Anton Kolesov <anton.kolesov@synopsys.com>
|
||
|
||
* elf/common.h (NT_ARC_V2): New macro definitions.
|
||
|
||
2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
PR ld/25861
|
||
* elf/xtensa.h (elf_xtensa_reloc_type): New entries for
|
||
R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
|
||
|
||
2020-04-21 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf/sh.h (STO_SH5_ISA32, SHF_SH5_ISA32, SHF_SH5_ISA32_MIXED),
|
||
(SHT_SH5_CR_SORTED, STT_DATALABEL): Delete.
|
||
|
||
2020-04-10 Fangrui Song <maskray@google.com>
|
||
|
||
PR binutils/24613
|
||
* bfdlink.h (enum report_method): Delete RM_GENERATE_WARNING and
|
||
RM_GENERATE_ERROR. Add RM_DIAGNOSE.
|
||
(struct bfd_link_info): Add warn_unresolved_syms.
|
||
|
||
2020-04-14 Stephen Casner <casner@acm.org>
|
||
|
||
PR ld/25677
|
||
* aout/aout64.h (N_DATADDR): Add IMAGIC case.
|
||
|
||
2020-04-02 Jan W. Jagersma <jwjagersma@gmail.com>
|
||
|
||
* coff/go32exe.h: Remove file.
|
||
* coff/internal.h (struct internal_filehdr): Remove field
|
||
go32stub. Remove flag F_GO32STUB.
|
||
|
||
2020-04-01 Martin Liska <mliska@suse.cz>
|
||
Maciej W. Rozycki <macro@linux-mips.org>
|
||
|
||
PR lto/94249
|
||
* plugin-api.h: Fix a typo.
|
||
|
||
2020-03-30 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv-opc.h: Update CSR to 1.11.
|
||
|
||
2020-03-26 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* elf/common.h (AT_FREEBSD_BSDFLAGS): Define.
|
||
|
||
2020-03-24 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/94249
|
||
* plugin-api.h: Add more robust endianess detection.
|
||
|
||
2020-03-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* plugin-api.h (enum ld_plugin_symbol_type): Remove
|
||
comma after last value of an enum.
|
||
* lto-symtab.h (enum gcc_plugin_symbol_type): Likewise.
|
||
|
||
2020-03-19 Martin Liska <mliska@suse.cz>
|
||
|
||
* lto-symtab.h (enum gcc_plugin_symbol_type): New.
|
||
(enum gcc_plugin_symbol_section_kind): Likewise.
|
||
|
||
2020-03-19 Martin Liska <mliska@suse.cz>
|
||
|
||
* plugin-api.h (struct ld_plugin_symbol): Split
|
||
int def into 4 char fields.
|
||
(enum ld_plugin_symbol_type): New.
|
||
(enum ld_plugin_symbol_section_kind): New.
|
||
(enum ld_plugin_tag): Add LDPT_ADD_SYMBOLS_V2.
|
||
|
||
2020-03-13 Kamil Rytarowski <n54@gmx.com>
|
||
|
||
* elf/common.h (NT_NETBSDCORE_LWPSTATUS): New define.
|
||
|
||
2020-03-13 Kamil Rytarowski <n54@gmx.com>
|
||
|
||
* elf/common.h (NT_NETBSDCORE_AUXV): New define.
|
||
|
||
2020-03-13 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* bfdlink.h (bfd_link_info): Add non_contiguous_regions and
|
||
non_contiguous_regions_warnings fields.
|
||
|
||
2020-03-13 Christian Eggers <ceggers@gmx.de>
|
||
|
||
* bfdlink.h (struct bfd_link_order): Add unit (bytes/octets) to
|
||
offset and size members.
|
||
* elf/internal.h (struct elf_internal_phdr): Likewise for
|
||
p_align member.
|
||
(struct elf_segment_map): Likewise for p_paddr and p_size
|
||
members
|
||
|
||
2020-03-13 Christian Eggers <ceggers@gmx.de>
|
||
|
||
* elf/internal.h (struct elf_internal_phdr): Add unit (octets)
|
||
to several member field comments.
|
||
(Elf_Internal_Shdr): likewise.
|
||
|
||
2020-03-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* som/aout.h (SOM_AUX_ID_MANDATORY, SOM_SPACE_IS_LOADABLE),
|
||
(SOM_SYMBOL_HIDDEN, SOM_SYMBOL_HAS_LONG_RETURN): Use 1u << 31.
|
||
* som/lst.h (LST_SYMBOL_HIDDEN): Likewise.
|
||
|
||
2020-03-03 Luis Machado <luis.machado@linaro.org>
|
||
|
||
* elf/common.h (AT_L1I_CACHESIZE, AT_L1I_CACHEGEOMETRY)
|
||
(AT_L1D_CACHESIZE, AT_L1D_CACHEGEOMETRY, AT_L2_CACHESIZE)
|
||
(AT_L2_CACHEGEOMETRY, AT_L3_CACHESIZE, AT_L3_CACHEGEOMETRY)
|
||
(AT_MINSIGSTKSZ): New defines, imported from glibc.
|
||
|
||
2020-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
Import from gcc mainline:
|
||
2020-02-05 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* hashtab.h (htab_remove_elt): Make a parameter const.
|
||
(htab_remove_elt_with_hash): Likewise.
|
||
|
||
2020-02-20 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv-opc.h: Extend DECLARE_CSR and DECLARE_CSR_ALIAS to
|
||
record riscv_csr_class.
|
||
|
||
2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
|
||
Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/arm.h (ARM_EXT2_CDE): New extension macro.
|
||
(ARM_EXT2_CDE0): New extension macro.
|
||
(ARM_EXT2_CDE1): New extension macro.
|
||
(ARM_EXT2_CDE2): New extension macro.
|
||
(ARM_EXT2_CDE3): New extension macro.
|
||
(ARM_EXT2_CDE4): New extension macro.
|
||
(ARM_EXT2_CDE5): New extension macro.
|
||
(ARM_EXT2_CDE6): New extension macro.
|
||
(ARM_EXT2_CDE7): New extension macro.
|
||
|
||
2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
|
||
|
||
PR 25469
|
||
* coff/internal.h (R_IMM16BE): Define.
|
||
* elf/z80.h (EF_Z80_MACH_Z80N): Define.
|
||
(R_Z80_16_BE): New reloc.
|
||
|
||
2020-02-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/d30v.h (struct pd_reg): Make value field unsigned.
|
||
|
||
2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
|
||
|
||
* coff/internal.h (PE_IMAGE_DEBUG_TYPE_VC_FEATURE)
|
||
(PE_IMAGE_DEBUG_TYPE_POGO, PE_IMAGE_DEBUG_TYPE_ILTCG)
|
||
(PE_IMAGE_DEBUG_TYPE_MPX, PE_IMAGE_DEBUG_TYPE_REPRO): Add.
|
||
|
||
2020-01-18 Nick Clifton <nickc@redhat.com>
|
||
|
||
Binutils 2.34 branch created.
|
||
|
||
2020-01-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Import from gcc mainline:
|
||
2019-06-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): New macro.
|
||
* libiberty.h (xmalloc): Use it.
|
||
(xrealloc): Likewise.
|
||
(xcalloc): Likewise.
|
||
(xstrdup): Likewise.
|
||
(xstrndup): Likewise.
|
||
(xmemdup): Likewise.
|
||
|
||
2019-06-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* ansidecl.h:
|
||
(ATTRIBUTE_RESULT_SIZE_1): Define new macro.
|
||
(ATTRIBUTE_RESULT_SIZE_2): Likewise.
|
||
(ATTRIBUTE_RESULT_SIZE_1_2): Likewise.
|
||
* libiberty.h (xmalloc): Add RESULT_SIZE attribute.
|
||
(xrealloc): Likewise.
|
||
(xcalloc): Likewise.
|
||
|
||
2019-11-16 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||
|
||
* demangle.h (struct demangle_component): Add member
|
||
d_counting.
|
||
|
||
2019-11-16 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
||
|
||
* demangle.h (rust_demangle_callback): Add.
|
||
|
||
2019-07-18 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
||
|
||
* demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h.
|
||
(rust_demangle_sym): Move to libiberty/rust-demangle.h.
|
||
|
||
2020-01-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR 25376
|
||
* opcodes/arm.h (FPU_MVE, FPU_MVE_FPU): Move these features to...
|
||
(ARM_EXT2_MVE, ARM_EXT2_MVE_FP): ... the CORE_HIGH space.
|
||
(ARM_ANY): Redefine to not include any MVE bits.
|
||
(ARM_FEATURE_ALL): Removed.
|
||
|
||
2020-01-15 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||
|
||
* opcode/msp430.h (enum msp430_expp_e): New.
|
||
(struct msp430_operand_s): Add expp member to struct.
|
||
|
||
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
||
|
||
* elf/arc-cpu.def: Update ARC cpu list.
|
||
|
||
2020-01-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/tic4x.h (EXTR): Delete.
|
||
(EXTRU, EXTRS, INSERTU, INSERTS): Rewrite without zero/sign
|
||
extension using shifts. Do trim INSERTU value to specified bitfield.
|
||
|
||
2020-01-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/spu.h: Formatting.
|
||
(UNSIGNED_EXTRACT): Use 1u.
|
||
(SIGNED_EXTRACT): Don't sign extend with shifts.
|
||
(DECODE_INSN_I9a, DECODE_INSN_I9b): Avoid left shift of signed value.
|
||
Keep result signed.
|
||
(DECODE_INSN_U9a, DECODE_INSN_U9b): Delete.
|
||
|
||
2020-01-07 Shahab Vahedi <shahab@synopsys.com>
|
||
|
||
* opcode/arc.h (insn_class_t): Add 'LLOCK' and 'SCOND'.
|
||
|
||
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
|
||
|
||
* coff/internal.h: Add defintions of Z80 reloc names.
|
||
|
||
2020-01-02 Christian Biesinger <cbiesinger@google.com>
|
||
|
||
* opcode/s12z.h: Undef REG_Y.
|
||
|
||
2020-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2019
|
||
|
||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|