[PATCH] RISC-V: Add bfd/cpu-riscv.h to support all spec versions controling.

Nick Clifton nickc@redhat.com
Wed Feb 17 10:56:34 GMT 2021


Hi Nelson,

>> bfd/
>>      * Makefile.am: Added cpu-riscv.h.
>>      * Makefile.in: Regenerated.
>>      * doc/Makefile.in: Regenerated.
>>      * po/SRC-POTFILES.in: Regenerated.
>>      * cpu-riscv.h: Added to support spec versions controling.  Also added
>>      extern arrays and functions for cpu-riscv.c.
>>      (enum riscv_spec_class): Define all spec classes here uniformly.
>>      (struct riscv_spec): Added for all specs.
>>      (RISCV_GET_SPEC_CLASS): Added to reduce repeated code.
>>      (RISCV_GET_SPEC_NAME): Likewise.
>>      (RISCV_GET_ISA_SPEC_CLASS): Added to get ISA spec class.
>>      (RISCV_GET_PRIV_SPEC_CLASS): Added to get privileged spec class.
>>      (RISCV_GET_PRIV_SPEC_NAME): Added to get privileged spec name.
>>      * cpu-riscv.c (struct priv_spec_t): Replaced with struct riscv_spec.
>>      (riscv_get_priv_spec_class): Replaced with RISCV_GET_PRIV_SPEC_CLASS.
>>      (riscv_get_priv_spec_name): Replaced with RISCV_GET_PRIV_SPEC_NAME.
>>      (riscv_priv_specs): Moved below.
>>      (riscv_get_priv_spec_class_from_numbers): Likewise, updated.
>>      (riscv_isa_specs): Moved from include/opcode/riscv.h.
>>      * elfnn-riscv.c: Included cpu-riscv.h.
>>      (riscv_merge_attributes): Initialize in_priv_spec and out_priv_spec.
>>      * elfxx-riscv.c: Included cpu-riscv.h and opcode/riscv.h.
>>      (RISCV_UNKNOWN_VERSION): Moved from include/opcode/riscv.h.
>>      * elfxx-riscv.h: Removed extern functions to cpu-riscv.h.
>> gas/
>>      * config/tc-riscv.c: Included cpu-riscv.h.
>>      (enum riscv_csr_clas): Moved from include/opcode/riscv.h.
>>      (struct riscv_csr_extra): Likewise.
>>      (struct riscv_ext_version): Likewise.
>>      (ext_version_table): Moved from opcodes/riscv-opc.c.
>>      (default_isa_spec): Updated type to riscv_spec_class.
>>      (default_priv_spec): Likewise.
>>      (riscv_set_default_isa_spec): Updated.
>>      (init_ext_version_hash): Likewise.
>>      (riscv_init_csr_hash): Likewise, also fixed indent.
>> include/
>>      * opcode/riscv.h: Moved stuff and make the file tidy.
>> opcodes/
>>      * riscv-dis.c: Included cpu-riscv.h, and removed elfxx-riscv.h.
>>      (default_priv_spec): Updated type to riscv_spec_class.
>>      (parse_riscv_dis_option): Updated.
>>      * riscv-opc.c: Moved stuff and make the file tidy.

Patch approved - please apply.

Cheers
   Nick



More information about the Binutils mailing list