This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 1/2] RISC-V: Support ELF attribute for gas and readelf


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

Attachment: 0001-RISC-V-Support-ELF-attribute-for-gas-and-readelf.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]