This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [patch, binutils] Patch elf/mips.h for -mfp64 support.
- From: "Maciej W. Rozycki" <macro at codesourcery dot com>
- To: Richard Sandiford <rdsandiford at googlemail dot com>, Doug Gilmore <Doug dot Gilmore at imgtec dot com>
- Cc: <binutils at sourceware dot org>
- Date: Tue, 10 Sep 2013 10:02:50 +0100
- Subject: Re: [patch, binutils] Patch elf/mips.h for -mfp64 support.
- Authentication-results: sourceware.org; auth=none
- References: <522E6DDF dot 10909 at imgtec dot com> <87sixdf64s dot fsf at talisman dot default>
On Tue, 10 Sep 2013, Richard Sandiford wrote:
> > 2013-09-07 Doug Gilmore <doug.gilmore@imgtec.com>
> >
> > * mips.h (EF_MIPS_32BITMODE): New e_flags bit.
> > * elfxx-mips.c check for EF_MIPS_32BITMODE, print [32bitfp64]
> > * readelf.c check for EF_MIPS_32BITMODE, print 32bitfp64
> > * tc-mips.c When it is appropriate, set EF_MIPS_32BITMODE.
>
> The changelogs should be something like:
>
> include/elf/ChangeLog:
> * mips.h (EF_MIPS_32BITMODE): New e_flags bit.
>
> bfd/ChangeLog:
> * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Handle
> EF_MIPS_32BITMODE.
>
> binutils/ChangeLog:
> * readelf.c (get_machine_flags): Handle EF_MIPS_32BITMODE.
>
> gas/ChangeLog:
> * config/tc-mips.c (mips_elf_final_processing): Set
> EF_MIPS_32BITMODE for -mgp32 -mfp64, removing old FIXME.
>
> (One of those cases where the changelogs are almost longer than the patch.)
>
> OK otherwise, thanks.
Well the entries need to match code too, i.e. refer to
EF_MIPS_32BITMODE_FP64 rather than EF_MIPS_32BITMODE.
Also how about just EF_MIPS_FP64 for brevity and to match the name
chosen for the corresponding attribute?
> I suppose this means we have only three genuinely free bits left:
>
> 0x00000800
> 0x00008000 (currently part of EF_MIPS_ABI but not used)
> 0x01000000 (currently part of EF_MIPS_ARCH_ASE but not used)
Indeed, we may need to switch to ELF notes at one point. One of the bits
left, presumably 0x00000800, may be useful to denote the need to refer
interpreters to such notes (for performance reasons, e.g. for the kernel
so that it doesn't look notes up where there isn't one).
Maciej