From mint-bounce@lists.fishpool.fi Thu Feb 28 04:59:24 2008 Message-ID: <47C68408.8070300@freesbee.fr> Date: Thu, 28 Feb 2008 10:51:04 +0100 From: =?ISO-8859-1?Q?Vincent_Rivi=E8re?= User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: MiNT Mailing List Subject: Re: [MiNT] SV: Some mintlib patches References: <47BC986B.7050704@gmail.com> <4930103.2001211204121417772.JavaMail.adm-moff@moffice10.nsc.no> <47C5F4F3.6050901@chello.nl> In-Reply-To: <47C5F4F3.6050901@chello.nl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-ecartis-version: Ecartis v1.0.0 Sender: mint-bounce@lists.fishpool.fi Errors-to: mint-bounce@lists.fishpool.fi X-original-sender: vincent.riviere@freesbee.fr Precedence: bulk List-help: List-unsubscribe: List-Id: X-List-ID: List-subscribe: List-owner: List-post: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.sparemint.org id m1S9xN9v028117 Henk Robbers wrote: > In my opinion it is not such a good idee to link the > floating point capabilities to the processor type. > A compiler should generate entirely software or entirely > line F for floating point. GCC is fully configurable when compiling programs. The CPU type can be set with the options like: -m68000 -m68030 -m68060 The floating point model can be specified, too: -msoft-float # Do not use Line-F for float operations -m68881 # Use Line-F for float operations By default, the options used are -m68000 and -msoft-float You can add manually -m68000 -m68881 in order to generate code for a 68000 with a math coprocessor (or an emulated one) The option -m68020-60 generates code which will be correct (but not optimal) for CPU from 68020 to 68060, and using the Line-F. If the option -msoft-float is specified, the Line-F will not be used. > When so much work is put in GCC for atari_mint, > it might be an idee to create a --line_F option in GCC. This option is -m68881 GCC is very flexible, anyone can compile a program for any CPU/FPU variant. However, the problem discussed here is about libraries. All the libraries linked with a program must have been compiled with the same options (or compatible options). When someone provides a library in binary form, he can't provide a binary for every possible combination of the GCC options. So we have to choose some reasonable standard option sets for the MiNT platform. Currently, they are : (nothing): same as -m68000 -msoft-float -m68020-60: (using implicitly -m68881) Any library writer should provide these 2 versions. The question is if we should add a new standard option set with -m68060, specifically optimized for that CPU. In that case, it will be additional work for the library writers. -- Vincent Rivière