[PATCH 2/2] RISC-V: Merge ELF attribute for ld

Kito Cheng kito.cheng@gmail.com
Wed Jan 9 13:47:00 GMT 2019


This is version 2 patch of implement the RISC-V ELF attribute merge.

Patch tested with 4 different configuration: (rv32gc, rv64gc) x (newlib, glibc)

Change list:
  - Fix several typo.
  - Fix testcase fail on RV64.
  - Add more comment.
  - Use strcasecmp instead of strcmp in riscv_i_or_e_p
  - Check and compare version of baseline ISA.
  - Check ARCH_SIZE with xlen_in and xlen_out
  - Remove PT_RISCV_ATTRIBUTES and related codes.

ChangeLog
bfd/
        * elfnn-riscv.c (in_subsets): New.
        (out_subsets): Likewise.
        (merged_subsets): Likewise.
        (riscv_std_ext_p): Likewise.
        (riscv_non_std_ext_p): Likewise.
        (riscv_std_sv_ext_p): Likewise.
        (riscv_non_std_sv_ext_p): Likewise.
        (riscv_version_mismatch): Likewise.
        (riscv_i_or_e_p): Likewise.
        (riscv_merge_std_ext): Likewise.
        (riscv_merge_non_std_and_sv_ext): Likewise.
        (riscv_merge_arch_attr_info): Likewise.
        (riscv_merge_attributes): Likewise.
        (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.

ld/
        * testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new
        section.
        * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests.
        * testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test.
        * testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise.
        * testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise.



More information about the Binutils mailing list