ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/06/24/19:58:31

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: <20010624235820.48557.qmail@web14507.mail.yahoo.com>
Date: Mon, 25 Jun 2001 09:58:20 +1000 (EST)
From: =?iso-8859-1?q?Danny=20Smith?= <danny_r_smith_2001 AT yahoo DOT co DOT nz>
Subject: Fwd: Patch: MinGW fastcall support
To: mingw-dvlpr AT lists DOT sourceforge DOT net, cygwin-apps AT cygwin DOT com
MIME-Version: 1.0

--0-1025202362-993427100=:45504
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

I have asked Eric to submit patches to binutils and gcc-patches.
Any comments?

Danny


--- Eric Kohl <ekohl AT rz-online DOT de> wrote: > From: "Eric Kohl"
<ekohl AT rz-online DOT de>
> To: "Danny Smith" <danny_r_smith_2001 AT yahoo DOT co DOT nz>
> Subject: Patch: MinGW fastcall support
> Date: Sun, 24 Jun 2001 20:34:37 +0200
> 
> Hello, Danny!
> 
> I have just completed patches that implement fastcall support to the
> current
> mingw version (gcc-2.95.3-4 and binutils-2.11.90).
> 
> The 'gcc' patch is based on a patch I found on the net. The original
> patch
> (from July 2000) implemented argument passing via ecx and edx, but
> function
> labels we not generated correctly. I added the code to generate
> decorated
> fastcall symbols.
> 
> The binutils patch enables 'as' to handle fastcall symbols. It also
> extends
> 'dlltool' to create import libraries and export tables that contain
> fastcall
> functions.
> 
> These patches were successfully tested with a modified version of the
> ReactOS source code. The current cvs source treats fastcall functions
> as
> stdcall functions.
> 
> Please apply these patches to the mingw source tree.
> 
> Best regards,
> Eric Kohl
> 
> 
> Change log for fastcall_gcc.diff:
> 
> gcc/ChangeLog:
> 
> * gcc/config/i386/crtdll.h:
> (CPP_PREDEFINES): Add fastcall attributes.
> 
> * gcc/config/i386/cygwin.h:
> (CPP_SPEC): Add fastcall attributes.
> (I386_PE_STRIP_ENCODING): Return length of internal fastcall prefix
> (+).
> (ASM_OUTPUT_LABELREF): Convert internal fastcall symbol to official
> fastcall
> symbol.
> 
> * gcc/config/i386/mingw32.h:
> (CPP_PREDEFINES): Add fastcall attributes.
> 
> * gcc/config/i386/win-nt.h:
> (CPP_PREDEFINES): Add fastcall attributes.
> (ENCODE_SECTION_INFO): Decorate fastcall function.
> 
> * gcc/config/i386/i386.c:
> (i386_valid_type_attribute_p): Accept 'fastcall' as a valid type
> attribute.
> (i386_return_pops_args): Fastcall functions pop the stack.
> (init_cumulative_args): Reserve two registers and enable swapping of
> eax and
> ecx.
> (function_arg): Swap eax and ecx.
> 
> * gcc/config/i386/i386.h:
> (CUMULATIVE_ARGS): Add flag to indicate register swapping.
> 
> * gcc/config/i386/winnt.h:
> (gen_fastcall_suffix): New function. Decorates a label name with a
> preliminary fastcall prefix (+)
> and the stdcall suffix.
> (i386_pe_encode_section_info): Calls gen_fastcall_suffix() if a
> symbol has a
> fastcall attribute.
> 
> 
> 
> ChangeLog for fastcall_binutils.diff:
> 
> binutils/ChangeLog:
> 
> * binutils/deflex.l:
> Accept at-sign as first character of an ID.
> 
> * binutils/dlltool.c:
> (scan_drectve_symbol): Search for last at-sign instead of first.
> (scan_filtered_symbol): Search for last at-sign instead of first.
> (gen_exp_file): Generate microsoft-compatible fastcall symbols.
> (xlate): Undecorate fastcall symbol.
> (make_label): Decorate fastcall symbol.
> (make_one_lib_file): Generate microsoft-compatible fastcall symbols.
> 
> * gas/config/te-pe.h:
> (AT_LEX): Accept at-sign (@) as first character of a label.
> 
> 

> ATTACHMENT part 2 application/x-compressed name=fastcall-patches.tgz







_____________________________________________________________________________
http://messenger.yahoo.com.au - Yahoo! Messenger
- Voice chat, mail alerts, stock quotes and favourite news and lots more!
--0-1025202362-993427100=:45504
Content-Type: application/x-gzip-compressed; name="fastcall-patches.tgz"
Content-Transfer-Encoding: base64
Content-Description: fastcall-patches.tgz
Content-Disposition: attachment; filename="fastcall-patches.tgz"

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
mPGclJIi3JcHAlmWiG9vDP2GKjO0F9JpPCJRJDfDoMcVV9pQCqLSzPdoje+o
4vYOv/QlNkYKjjRwzLkHuUKe1w80kNJagrL4CJrvGdcW5I7zOK1p2rdRRinD
OoQdL3yMGggpTBA5Mt0ewPBiQkOGc+IiTI3CQpc5pqaL8TQrNtMOz2X5CLh6
Kl544iRhzHQNH8IxBYrHU1DNxIB/Io8cgluW5kLUOLIFcRksWyAtDZ1VoKbk
ZnhG6buMAb1hKnEfRKu+7WumTEZ4XvTu3TuRbTuuPcawcxFEJkTbx+EI5bts
VnwGMituWoaFfkubyOQV+cYBW8Nh++Kki2pC9d2wBChvLnszeQUnTZ1S8OWc
+dhVOKFksctwwlkM3nP/kPQVAjkflYfiBRRik8oLCmsMEasQoQ+NKg4Weo2w
jxJHznx+08TkECBLsatGF9mqrIDHSYyNw4u6j+bNRNkqCdnR3JnqYTYR5qap
FSWiZ9j5Z/vpyfLhhV3UlAs6DHJtjCxh7lBYHYTijjYhDY7KNjCxMSrg9To6
KAqIgFsNjcPj8bdvu0xFKBWtTGoHhwpJR5JzueitAJetwYV60r/qnbUGv0EJ
lLzYgHaXet4m38MVCM0vHEVTBD1LYuKb5T9anV6SFwL6IRDyg9A8oYZpN3ml
ktN5nSJvJHpBeUVgFWGrsO0db0+2iiChi4LM3ZPOaKheovZf9TojgfxdDrjw
IM/HTqnIHBXeSHozx2S8fsbPYtrh5aZO77wvRJLlmia2hJrC/9+O+j7+NsKA
I7ptHIsxuDY/jjHWKxnTvfzM6q0/tMVS+rYf+ic4wtFeus3HPM3zNbmI7HWC
ociJZFbRTHr2Q1THalEroy1OdOavIjl9p4ru08py8YXmfuW+g5+SeDbcMn65
z2d0LEAZMHW6volxBKOqLX+3x/9iuh+VjDGdF/9zypsJ2C69or7zV6Ha/+nL
WZu2aZu2aZu2aZu2aZu2aZu2aZu2aZu2aZu2aZu2aT/Q/g9BMMEkAFAAAA==


--0-1025202362-993427100=:45504--

- Raw text -


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