From owner-freebsd-current Tue Mar 24 23:19:31 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA24313 for freebsd-current-outgoing; Tue, 24 Mar 1998 23:19:31 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA24308 for ; Tue, 24 Mar 1998 23:19:29 -0800 (PST) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id SAA28158; Wed, 25 Mar 1998 18:12:40 +1100 Date: Wed, 25 Mar 1998 18:12:40 +1100 From: Bruce Evans Message-Id: <199803250712.SAA28158@godzilla.zeta.org.au> To: ache@nagual.pp.ru, bartol@salk.edu, freebsd-current@FreeBSD.ORG Subject: Re: gcc bug in -current!!! Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >I confirm this bug present. To narrow down search path, even cc from Mar 6 >works fine. Here is diff from assembler code generated by old and new cc >(without optimization), old first: as we see, main change is that "fildq" >replaced with "fildll". gas doesn't understand fildll (it silently (:-() converts it to fildl). The following not-recently-changed code in i386.c generates the `q'. > case 8: > if (GET_MODE_CLASS (GET_MODE (x)) == MODE_INT) > { >#ifdef GAS_MNEMONICS > PUT_OP_SIZE ('Q', 'q', file); > return; >#else > PUT_OP_SIZE ('Q', 'l', file); /* Fall through */ >#endif > } > The elfization of freebsd.h clobbered the definition of GAS_MNEMONICS by including , and instead of "i386/gstabs.h". "i386/gstabs.h" is included mostly for its side effect of including "i386/gas.h" which defines GAS_MNEMONICS and includes "i386/i386.h" and "i386/bsd.h". This change has some style bugs :<>. Summary: we are now att/linux instead of gas/bsd :-). It's surprising that more didn't break. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message