From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15325 invoked by alias); 19 May 2006 10:18:58 -0000 Received: (qmail 15313 invoked by uid 22791); 19 May 2006 10:18:56 -0000 X-Spam-Check-By: sourceware.org Received: from intranet.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.6) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 19 May 2006 10:18:39 +0000 Received: (qmail 22785 invoked from network); 19 May 2006 10:18:36 -0000 Received: from unknown (HELO ?192.168.189.145?) (nathan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 19 May 2006 10:18:36 -0000 Message-ID: <446D9B43.2000408@codesourcery.com> Date: Fri, 19 May 2006 13:11:00 -0000 From: Nathan Sidwell User-Agent: Mozilla Thunderbird 1.0.8 (X11/20060502) MIME-Version: 1.0 To: Ben Elliston CC: binutils@sources.redhat.com Subject: Correct m68k float flag logic Content-Type: multipart/mixed; boundary="------------070809020806060903030808" Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2006-05/txt/msg00329.txt.bz2 This is a multi-part message in MIME format. --------------070809020806060903030808 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 671 I've installed this patch (as obvious), for a problem with the m68k's float format logic. The -mfloat flag is used for both m68k and cf floats, which to target is determined by the target cpu. That check should be done _before_ testing whether we've been given flags for both m68k & cf architectures. We've been using this on the binutils-csl-2_17-branch for some time (and we're just going through making sure things get back to mainline). Ben, do you want this on the binutils-2_17-branch too? nathan -- Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk --------------070809020806060903030808 Content-Type: text/plain; name="all.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="all.diff" Content-length: 1451 2006-05-19 Nathan Sidwell * gas/config/tc-m68k.c (m68k_init_arch): Move checking of cfloat/m68881 to correct architecture before using it. Index: config/tc-m68k.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-m68k.c,v retrieving revision 1.75 diff -c -3 -p -r1.75 tc-m68k.c *** config/tc-m68k.c 28 Mar 2006 07:21:49 -0000 1.75 --- config/tc-m68k.c 19 May 2006 10:12:58 -0000 *************** m68k_init_arch (void) *** 7233,7238 **** --- 7233,7247 ---- current_architecture &= ~not_current_architecture; + if ((current_architecture & (cfloat | m68881)) == (cfloat | m68881)) + { + /* Determine which float is really meant. */ + if (current_architecture & (m68k_mask & ~m68881)) + current_architecture ^= cfloat; + else + current_architecture ^= m68881; + } + if (selected_cpu) { control_regs = selected_cpu->control_regs; *************** m68k_init_arch (void) *** 7244,7258 **** } } - if ((current_architecture & (cfloat | m68881)) == (cfloat | m68881)) - { - /* Determine which float is really meant. */ - if (current_architecture & (m68k_mask & ~m68881)) - current_architecture ^= cfloat; - else - current_architecture ^= m68881; - } - if ((current_architecture & m68k_mask) && (current_architecture & ~m68k_mask)) { --- 7253,7258 ---- --------------070809020806060903030808--