[PATCH v3] gold: Add Mips64 support.
Cary Coutant
ccoutant@gmail.com
Sat Feb 6 00:02:00 GMT 2016
> 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
More information about the Binutils
mailing list