This is a patch for binutils that implements support for fastcall
symbols as used on Microsoft Windows platforms.


binutils/testsuite/ChangeLog

2002-10-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* binutils-all/dlltool.exp: New file for testing dlltool.
	* binutils-all/fastcall.def: New file for testing fastcall exports.
	* config/default.exp: Set DLLTOOL variable.


gas/testsuite/ChangeLog

2002-10-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* gas/all/gas.exp: Run fastcall label handling test.
	* gas/all/fastcall.s: New file for testing handling of fastcall
	labels.


ld/testsuite/ChangeLog

2002-10-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* ld-fastcall: New directory for testing fastcall support.
	* ld-fastcall/export.s: New file for testing fastcall symbol handling.
	* ld-fastcall/import.s: Likewise.
	* ld-fastcall/fastcall.exp: Likewise.


binutils/ChangeLog

2002-10-13  Danny Smith  <dannysmith@users.sourceforge.net>

	* dlltool.c (add_excludes): Don't prefix excluded fastcall symbols
	with underscore.
	(xlate): Ignore add_underscore for decorated fastcall symbols.

2002-10-13  Eric Kohl  <ekohl@rz-online.de>

	* deflex.l: Accept '@' as first character of an ID.
	* dlltool.c (gen_exp_file): Use existing '@' prefix rather than
	ASM_PREFIX for fastcall symbols.
	(scan_drectve_symbols): Handle fastcall symbols when generating
	undecorated aliases for symbols in drectve section.
	(scan_filtered_symbols): Likewise, with export-all.
	(xlate): Likewise, with --kill-at.
	(make_imp_label): New function to handle fastcall symbols correctly.
	(make_one_lib_file): Use make_imp_label instead of make_label for imp
	symbols.


gas/ChangeLog

2002-10-13  Eric Kohl  <ekohl@rz-online.de> 

	* config/te-pe.h (LEX_AT): Accept at-sign (@) as first character
	of a label.


ld/ChangeLog

2002-10-13  Danny Smith  <dannysmith@users.sourceforge.net>

	* deffilep.y (def_lex): Handle '@' as first character of an ID.
	* pe-dll.c (auto-export): Filter on "_imp_" prefix, not "_imp__".
	(make_one): Don't prefix decorated fastcall symbols with '_'.
	(pe_process_import_defs): Likewise.
	* emultempl/pe.em (pe_fixup_stdcalls): Don't fixup fastcall
	symbols to cdecl names or vise-versa.

2002-10-13  Eric Kohl  <ekohl@rz-online.de> 

	pe-dll.c (process_def_file): Handle fastcall symbols when generating
	undecorated aliases.  Don't prefix decorated fastcall symbols with '_'.
	(fill_exported_offsets): Don't prefix decorated fastcall symbols
	with '_'.
