This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH v3] gold: Add Mips64 support.
- 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: Fri, 5 Feb 2016 16:02:03 -0800
- Subject: Re: [PATCH v3] gold: Add Mips64 support.
- Authentication-results: sourceware.org; auth=none
- References: <3060420525346945A0ADBD567348A91723737D32 at BADAG02 dot ba dot imgtec dot org> <3060420525346945A0ADBD567348A91723737E8B at BADAG02 dot ba dot imgtec dot org>
> Fixed build problem detected with gcc 4.9.0. has_overflow32 is changed with has_overflow in releh.
>
> Regards,
> Vladimir.
>
>> This version of patch is using MIPS-64 relocation format. There are also changes in Mips_output_data_reloc, in Output_data_reloc_base, and in is_readonly_section.
>>
>> Regards,
>> Vladimir.
>>
>> Changelog -
>>
>> * mips.cc: Add Mips64 support.
>> * output.h (Output_reloc<SHT_REL>::get_address): Change from private to public.
>> (Output_reloc<SHT_REL>::get_symbol_index): Likewise.
>> (Output_data_reloc_base::Sort_relocs_comparison): Change from private to protected.
>> (Output_data_reloc_base::relocs_): Likewise.
Mips_output_data_reloc::do_write() is bugging me, because the writing
of the relocation really should be in Output_reloc::write(), and to
write the non-standard format suggests that we should really have a
Mips_output_reloc class. I'm playing around with some additional
refactoring in the hopes of perhaps having Output_data_reloc take an
Output_reloc_type template parameter (instead of or in addition to
sh_type), so that in the mips backend, you can use something like
Output_data_reloc<Mips_output_reloc, ...>. If I can't find something
along those lines that I'm happy with, then we'll go with what you've
done here.
-cary