This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: [PATCH, MIPS] Ensure softfloat and single float take precendence in consistency checks
- From: Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- To: Richard Sandiford <rdsandiford at googlemail dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>, Andrew Bennett <Andrew dot Bennett at imgtec dot com>
- Date: Sat, 13 Sep 2014 09:13:51 +0000
- Subject: RE: [PATCH, MIPS] Ensure softfloat and single float take precendence in consistency checks
- Authentication-results: sourceware.org; auth=none
- References: <6D39441BF12EF246A7ABCE6654B0235320F087FD at LEMAIL01 dot le dot imgtec dot org> <874mwcx79s dot fsf at googlemail dot com>
Richard Sandiford <rdsandiford@googlemail.com> writes:
> Matthew Fortune <Matthew.Fortune@imgtec.com> writes:
> > This patch fixes a subtle mistake in the FP ABI consistency check
> > logic. The error reporting does not currently follow the
> > intended precedence of the various FP ABIs. I.e. softfloat,
> > singlefloat and then all the hardfloat variants. When someone
> > uses -msingle-float with a GNU attribute which is not 4,2 then
> > the initial warning should be that it is not compatible with
> > singlefloat. Likewise for softfloat and attribute 4,3.
>
> I agree with checking soft/single/double before register size,
> but the patch still does it after checking -mabi. Is that important?
> I've always thought of -mabi and -mgp/-mfp being a set so IMO it's more
> natural to check soft/single/double first, then ABI, then register size.
> E.g. if someone uses fpxx in a softfloat n32 then I think it's valid to
> report either the softfloatness or the n32ness being the problem.
>
> It'd be cleaner to have just one copy of the code at the head of the
> function rather than duplicate it in each case statement.
I think that sounds OK. I just had myself focussed on keeping the
O32-only ABI extensions restricted to O32 but ordering does not matter
for this particular piece of code.
Thanks,
Matthew