This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH v2][gold] Mips: Add support for MIPS R6.
- From: Cary Coutant <ccoutant at gmail dot com>
- To: Vladimir Radosavljevic <Vladimir dot Radosavljevic at imgtec dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>, Petar Jovanovic <Petar dot Jovanovic at imgtec dot com>
- Date: Mon, 20 Jun 2016 12:18:23 -0700
- Subject: Re: [PATCH v2][gold] Mips: Add support for MIPS R6.
- Authentication-results: sourceware.org; auth=none
- References: <3060420525346945A0ADBD567348A91723741BB0 at BADAG02 dot ba dot imgtec dot org>
> elfcpp/
> * mips.h (R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3,
> R_MIPS_PC19_S2, R_MIPS_PCHI16, R_MIPS_PCLO16): New enums for
> Mips32r6 and Mips64r6 relocations.
> (r6_isa): New function.
> gold/
> * mips.cc (relocation_needs_la25_stub): Add support for relocs:
> R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
> (hi16_reloc): Add support for R_MIPS_PCHI16 relocation.
> (is_matching_lo16_reloc): Likewise.
> (lo16_reloc): Add support for R_MIPS_PCLO16 relocation.
> (Mips_output_data_plt::plt_entry_r6): New static data member for
> R6 PLT entry.
> (Target_mips::is_output_r6): New method.
> (Target_mips::Mips_mach): Add new enum constants.
> (Mips_relocate_functions::Status): Likewise.
> (Mips_relocate_functions::pchi16_relocs): New static data member.
> (Mips_relocate_functions::relpc21): New method.
> (Mips_relocate_functions::relpc26): Likewise.
> (Mips_relocate_functions::relpc18): Likewise.
> (Mips_relocate_functions::relpc19): Likewise.
> (Mips_relocate_functions::relpchi16): Likewise.
> (Mips_relocate_functions::do_relpchi16): Likewise.
> (Mips_relocate_functions::relpclo16): Likewise.
> (Mips_output_data_plt::do_write): Add support for Mips r6 plt
> entry.
> (Target_mips::mips_32bit_flags): Add E_MIPS_ARCH_32R6 support.
> (Target_mips::elf_mips_mach): Add E_MIPS_ARCH_32R6 and
> E_MIPS_ARCH_64R6 support.
> (Target_mips::update_abiflags_isa): Likewise.
> (mips_get_size_for_reloc): Add support for relocs: R_MIPS_PCHI16,
> R_MIPS_PCLO16, R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3 and
> R_MIPS_PC19_S2.
> (Target_mips::Scan::local): Add support for relocs: R_MIPS_PCHI16
> and R_MIPS_PCLO16.
> (Target_mips::Scan::global): Add support for relocs:
> R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
> (Target_mips::Relocate::relocate): Call functions for resolving
> Mips32r6 and Mips64r6 relocations, and print error message for
> STATUS_PCREL_UNALIGNED.
> (Target_mips::Scan::get_reference_flags): Add support for relocs:
> R_MIPS_PCHI16, R_MIPS_PCLO16, R_MIPS_PC21_S2, R_MIPS_PC26_S2,
> R_MIPS_PC18_S3 and R_MIPS_PC19_S2.
> (Target_mips::elf_mips_mach_name): Add E_MIPS_ARCH_32R6 and
> E_MIPS_ARCH_64R6 support.
Committed. Thanks!
-cary