www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/10/14/00:32:47

Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-apps-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com
Message-ID: <20011014043215.57603.qmail@web14504.mail.yahoo.com>
Date: Sun, 14 Oct 2001 14:32:15 +1000 (EST)
From: =?iso-8859-1?q?Danny=20Smith?= <danny_r_smith_2001 AT yahoo DOT co DOT nz>
Subject: Re: GCC-3 additions
To: cygwin-apps AT cygwin DOT com
In-Reply-To: <20011013232846.A2364@redhat.com>
MIME-Version: 1.0

 --- Christopher Faylor <cgf AT redhat DOT com> wrote: > On Sun, Oct 14, 2001 at
12:53:28PM +1000, Danny Smith wrote:
> >1) How important is Donn Terry's -fnative-struct feature.  Merging his
> >patchset from 2.95 into 3.0 branch is easy.  Merging into 3.1 takes a
> bit
> >more work, with change to table-driven attributes, but getting there. 
> 
> I've been using -fnative-struct for all of my cygwin DLL builds
> recently.  Anecdotal evidence (from Earnie, maybe?) indicates that it
> causes a noticeable speedup but I haven't really noticed anything
> myself.
> 

Nor have I.  It only effects structs with multiple bitfields, though, and
only in some cases.

> >2) How important is fastcall calling convention to cygwin apps.  I have
> >been working with Eric Kohl on a patchset that he is keen to get into
> mingw
> >binaries. ReactOS project needs them for building MS-compat device
> drivers.
> > They involve changes in binutils (as, dlltool, ld) as well as gcc. 
> These
> >are still WIP
> 
> I'd like to have fastcall conventions.  I think it is necessary if we
> want
> gcc to be a replacement for MSVC.
> 
 I'll need to think about that.  Do I really want that?

> Out of curiousity, how does fastcall differ from attribute ((regparm
> (n)))?
> 

Like stdcall, callee pops the stacks. In addition fastcall allocates the
first two DWORD (SImode) or  smaller arguments to ECX and EDX.

MS fastcall symbols have decoration similar to stdcall but with leading @ 
eg @foo AT nn/_imp_ AT foo@nn (note no underscore between _imp_ and @)

> Are there any other patches that need to be added to 3.1 to make it a
> good Windows compiler?  I know that the mingw/cygwin gcc 2.95.3 has a
> lot of Mumit Khan additions.  Are these patches either unneeded or
> unnecessary for 3.1?
> 

Mumit's C++ "class __declspec(dll[impex]port)foo" patches don't work as
intended anymore.  
The bug has been reported here:
http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg01299.html

I am still not familiar enough with all the TREE business to even attempt
to fix this. Mumit has advised me to seek out a C++ guru.

 
The patches to use MS rule to override dllimport with dllexport when
conflict are still needed. 


Danny


http://briefcase.yahoo.com.au - Yahoo! Briefcase
- Manage your files online.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019