Discussion:
[PATCH 1/2] RISC-V: Support ELF attribute for gas and readelf
Kito Cheng
2018-12-07 12:33:59 UTC
Permalink
This patch implement RISC-V ELF attribute[1] support for assembler and readelf.

ChangeLog:
bfd/
* elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New function.
(elf_backend_obj_attrs_vendor): Define.
(elf_backend_obj_attrs_section_type): Likewise.
(elf_backend_obj_attrs_section): Likewise.
* elfxx-riscv.c (riscv_estimate_digit): New function.
(riscv_estimate_arch_strlen1): Likewise.
(riscv_estimate_arch_strlen): Likewise.
(riscv_arch_str1): Likewise.
(riscv_arch_str): Likewise.
* elfxx-riscv.h (riscv_arch_str): Declare.
gas/
* config/tc-riscv.c (riscv_write_out_arch_attr): New function.
(riscv_set_public_attributes): Likewise.
(riscv_md_end): Likewise.
(riscv_convert_symbolic_attribute): Likewise.
(s_riscv_attribute): Likewise.
(riscv_pseudo_table): Add .attribute to the table.
* config/tc-riscv.h (md_end): Define as riscv_md_end
(riscv_md_end): Declare.
(CONVERT_SYMBOLIC_ATTRIBUTE): Define as
riscv_convert_symbolic_attribute.
(riscv_convert_symbolic_attribute): Declare.
* testsuite/gas/elf/elf.exp: Adjust test case for section2.e.
* testsuite/gas/elf/section2.e-riscv: New.
* testsuite/gas/riscv/attribute-01.d: New test
* testsuite/gas/riscv/attribute-02.d: Likewise.
* testsuite/gas/riscv/attribute-03.d: Likewise.
* testsuite/gas/riscv/attribute-04.d: Likewise.
* testsuite/gas/riscv/attribute-04.s: Likewise.
* testsuite/gas/riscv/attribute-05.d: Likewise..
* testsuite/gas/riscv/attribute-05.s: Likewise.
* testsuite/gas/riscv/attribute-06.d: Likewise.
* testsuite/gas/riscv/attribute-06.s: Likewise.
* testsuite/gas/riscv/attribute-07.d: Likewise.
* testsuite/gas/riscv/attribute-07.s: Likewise.
* testsuite/gas/riscv/attribute-08.d: Likewise.
* testsuite/gas/riscv/attribute-08.s: Likewise.
* testsuite/gas/riscv/empty.l: Likewise.
binutils/
* readelf.c (get_riscv_section_type_name) New function.
(get_section_type_name): Add handler for RISC-V.
(riscv_attr_tag_t): Declare.
(riscv_attr_tag): New.
(display_riscv_attribute): New function.
(process_attributes): Add handler for RISC-V.
include/
* elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define.
(Tag_arch): Likewise.
(Tag_priv_spec): Likewise.
(Tag_priv_spec_minor): Likewise.
(Tag_priv_spec_revision): Likewise.
(Tag_unaligned_access): Likewise.



[1] https://github.com/riscv/riscv-elf-psabi-doc/pulls/71

Loading...