This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] MIPS: Add a GNU attribute for -mips32 -mfp64 objects
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Thiemo Seufer <ths at networkno dot de>
- Cc: binutils at sourceware dot org
- Date: Thu, 15 Nov 2007 00:03:04 +0000 (UTC)
- Subject: Re: [PATCH] MIPS: Add a GNU attribute for -mips32 -mfp64 objects
- References: <20071114202400.GT8363@networkno.de>
On Wed, 14 Nov 2007, Thiemo Seufer wrote:
> While I wrote this patch I noticed that the tagging takes only place
> when the respective gnu_attribute is found in the source code. This
> leaves objects created from assembly untagged. I wonder if it is a good
> idea to generally add a FP ABI attribute, derived from the assembler's
> command line flags, unless this is overridden by a gnu_attribute
> directive in the source. Is there a backward compatibility issue I fail
> to see, or some other effect which makes this a bad idea?
I didn't think the compiler passed the -msoft-float/-mhard-float ABI
information to the assembler, so this could cause problems with incorrect
tagging when older compilers are used with newer assemblers. The ABI is a
separate matter from what instructions are enabled, and a valid ABI is
being compatible with both hard and soft float; a file with purely integer
instructions could be a soft-float file if the functions are taking
floating-point parameters, or a file compatible with both if they are
taking integer parameters. How would you deduce the C language function
call compatibility of an object (which is what the attributes describe)
from the assembler source and command line options?
--
Joseph S. Myers
joseph@codesourcery.com