GCC 3.3.3
--------------------------------------

GCC C compiler.

Runtime requirements:
  cygwin-1.5.10-3
  libintl3-0.14.1-1
  libiconv2-1.9.2-1

Build requirements:
  cygwin-1.5.10-3
  gcc-3.3.1-3
  binutils-20040725-2
  make-3.80-1
  libiconv-1.9.2-1
  libiconv2-1.9.2-1
  gettext-0.14.1-1
  gettext-devel-0.14.1-1
  libintl3-0.14.1-1
  libgettextpo0-0.14.1-1
  zlib-1.2.1-1
  file-4.09-1
  perl-5.8.2-1
  texinfo-4.7-1
    or newer versions than these.

Canonical homepage:
  http://gcc.gnu.org/

Canonical download:
  http://gcc.gnu.org/
  
--------------------------------------

Build instructions:
  unpack gcc-core-3.3.3-2-src.tar.bz2
    if you use setup to install this src package, it will be
	 unpacked under /usr/src automatically
  cd /usr/src
  ./gcc-3.3.3-2.sh prep
  ./gcc-3.3.3-2.sh conf
  ./gcc-3.3.3-2.sh build
  ./gcc-3.3.3-2.sh build_gnatlib_and_tools (for build with Ada)
  ./gcc-3.3.3-2.sh build_info
  ./gcc-3.3.3-2.sh check (optional)
  ./gcc-3.3.3-2.sh install
  ./gcc-3.3.3-2.sh strip_exe
  ./gcc-3.3.3-2.sh install2
  ./gcc-3.3.3-2.sh pre_pkg
  ./gcc-3.3.3-2.sh pkg
  ./gcc-3.3.3-2.sh spkg

This will create binary packages:
  ./gcc-core-3.3.3-2.tar.bz2
  ./gcc-ada-3.3.3-2.tar.bz2
  ./gcc-g++-3.3.3-2.tar.bz2
  ./gcc-g77-3.3.3-2.tar.bz2
  ./gcc-gdc-3.3.3-2-no-libphobos.tar.bz2
  ./gcc-gpc-3.3.3-2.tar.bz2
  ./gcc-java-3.3.3-2.tar.bz2
  ./gcc-objc-3.3.3-2.tar.bz2

And source packages:
  ./gcc-core-3.3.3-2-src.tar.bz2
  ./gcc-testsuite-3.3.3-2-src.tar.bz2
  ./gcc-ada-3.3.3-2-src.tar.bz2
  ./gcc-g++-3.3.3-2-src.tar.bz2
  ./gcc-g77-3.3.3-2-src.tar.bz2
  ./gcc-gdc-3.3.3-2-src.tar.bz2
  ./gcc-gpc-3.3.3-2-src.tar.bz2
  ./gcc-java-3.3.3-2-src.tar.bz2
  ./gcc-objc-3.3.3-2-src.tar.bz2

For the gory details please see the buildscript included with the source
package.

--------------------------------------

Files included in the binary distro

$ zcat /etc/setup/gcc-core.lst.gz

--------------------------------------

Port Notes:

---------- version 3.3.3-2 -----------

2004-08-13:

        * Remove Modula 2 compiler from
          distribution.
        * Minor tweaks in buildscript.
        * READMEs updated.

---------- version 3.3.3-1 -----------

2004-05-18:

        * Initial release of GCC 3.3.3.
        * D and Modula 2 drivers added.


---------- version 3.3.1-3 -----------


2003-10-11:

	* C, C++, Fortran, Ada, ObjC, Java and Pascal front ends included.



Cygwin port maintained by: Gerrit P. Haase  <gp@familiehaase.de> 

--------------------------------------

Cygwin specific ChangeLogs:

gcc/ChangeLog

2004-05-01  Danny Smith  <dannysmith@users.sourceforge,net>

	* stor-layout.c (place_field): Revert 2003-09-03 ms-bitfields
	change..

2004-04-27  Wu Yongwei  <adah@sh163.net>

	Backport from trunk.

	* gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
	(__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
	(__gthread_mutex_init_function): Replace CreateMutex with
	initialization of custom mutex using CreateSemaphore.
	(__gthread_mutex_lock): Use InterlockedIncrement.
	(__gthread_mutex_trylock): Use InterlockedCompareExchange.
	(__gthread_mutex_unlock): Use InterlockedDecrement and
	ReleaseSemaphore to unlock
	* config/i386/gthr-win32.c (__gthread_mutex_init_function,
	__gthread_mutex_lock, __gthread_mutex_trylock,
	__gthread_mutex_unlock): Adjust to match inline versions in
	gthr-win32.h.

2004-04-20  Danny Smith  <dannysmith@users.sourceforge,net>

	* c-format.c (format_length_info printf_length_specs): Add "I64"
	length specifier if __MINGW32__.
	(format_length_info scanf_length_specs): Likwise.
	(printf_flag_specs): Don't accept 'I' format flags if __MINGW32__.
	(scanf_flag_specs): Ditto.
	(format_types_orig): Ditto.
	(check_format_info_main): Handle "I64" length specifier
	if __MINGW32__.

2004-03-29  Danny Smith  <dannysmith@users.sourceforge,net>

	* collect2.c: Include pex-read.h.
	* system,h: (HOST_QUOTE_STR, HOST_QUOTE_CHAR.
	HOST_QUOTED_QUOTE_STR): New defines.
	* config/i386/xm-mingw32 (HOST_QUOTE_STR, HOST_QUOTE_CHAR.
	HOST_QUOTED_QUOTE_STR): Override defaults.
	* gcc.c (set_collect_gcc_options); Use HOST_QUOTE_STR,
	HOST_QUOTE_CHAR. HOST_QUOTED_QUOTE_STR.

2004-03-18  Danny Smith <dannysmith@users.sourceforge,net>

	Apply Ian Lance Taylor patch 
	2004-03-17  Ian Lance Taylor  <ian@wasabisystems.com>

	* collect2.c (collect_status): New static function, broken out of
	collect_wait.
	(collect_wait): Call collect_status.
	(do_read_wait): New static function.
	(scan_prog_file): Call pex_read instead of pipe and vfork.
	(scan_libraries): Likewise.

	Backport from csl-arm-branch.
	2004-02-12  Mark Mithchell  <mmitchel@gcc.gnu.org>

	* collect2.c  (collect_execute): Pass third argument to open.
	* gcc.c (set_collect_gcc_options): Use double quotes instead of
	single quotes on Windows.
	* tlink.c (recompile_files): Do not assume that "rename" can
	overwrite an existing file.  Use "&&" as the command separator
	rather than ";".

2004-01-31  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/winnt.c (i386_pe_output_labelref): Fix misplaced
	closing parenthesis.

2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/mingw32.h (LINK_SPEC): Set
	--enable-auto-image-base with -shared switch.

2002-12-04  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/w32-shared-ptr.c: #include <windows.h>.
	
2002-12-03  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/mingw32.h (w32_file_id_cmp): Move declaration
	to...
	* config/i386/xm-mingw32.h: Here.
	* config/i386/mingw32.h (TARGET_FILE_ID_CMP): Rename to
	HOST_FILE_ID_CMP and move to...
	* config/i386/xm-mingw32.h: Here.
	* config/i386/t-mingw32 (EXTRA_GCC_OBJS): Move target and rule
	to ...  
	* config/i386/x-mingw32: Here. New file.
	* config.gcc (i[34567]86-*-mingw32*): Set xmake_file to
	i386/x-mingw32.
	* gcc.c (TARGET_FILE_ID_CMP): Rename to HOST_FILE_ID_CMP
	throughout.

2002-11-23  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/mingw32-1.c: New file, defining
	function w32_file_id_cmp.
	* config/i386/mingw32.h (TARGET_FILE_ID_CMP): New macro,
	defined as w32_file_id_cmp.
	* config/i386/t-mingw32 (EXTRA_GCC_OBJS): Define
	as mingw32-1.o.  Add rule for compiling.
	* gcc.c (do_spec_1): Use TARGET_FILE_ID_CMP if defined.

2002-11-22  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/w32-shared-ptr.c
	(__w32_sharedptr_default_unexpected): New function, calling
	current __w32_sharedptr_terminate reference.
	(__w32_sharedptr_initialize): Adjust initialization of
	w32_sharedptr->unexpected

2002-11-22  Danny Smith  <dannysmith@users.sourceforge.net>

	* crtstuff.c: Split out sjlj initialization from Dwarf2
	code, conditional on __USING_SJLJ_EXCEPTIONS__.

2002-11-22  Thomas Pfaff  <tpfaff@gmx.net>

	* config/i386/w32-shared-ptr.h: New file. Define W32_EH_SHARED
	structure, global pointer and function prototypes.
	* config/i386/w32-shared-ptr.c (__w32_sharedptr): Change to public
	global var.
	(__w32_sharedptr_unseen_objects): Remove global var.
	(__w32_sharedptr_seen_objects): Ditto.
	(__ultobstr): Remove.
	(__w32_eh_shared_initialize): New static function.
	(__w32_sharedptr_initialize): Complete rewrite.
	(__w32_sharedptr_set): New function.
	(__w32_sharedptr_get): Ditto.
	(__w32_sharedptr_fixup_after_fork): Ditto.
	* unwind-dw2-fde.c: Include "i386/w32-shared-ptr.h".
	(object_mutex): Define as dereference of
	__w32_sharedptr->dw2_object_mutex.
	(init_object_mutex_once): Define static variable once as
	dereference of __w32_sharedptr->dw2_once.
	(fde_split): Define static fde * marker as dereference of
	 __w32_sharedptr->dw2_marker.
	* unwind-sjlj.c: Include "i386/w32-shared-ptr.h".
	(fc_key, use_fc_key): Adjust shared_ptr	definitions.
	(fc_key_init_once): Likewise.
	(fc_static): Likewise.

2002-11-16  Danny Smith  <dannysmith@users.sourceforge.net>

	* unwind-sjlj.c (fc_key, use_fc_key): Define as 
	dereferences of __w32_shared_ptr* variables.
	(fc_key_init_once):Define static variable once as
	dereference of __w32_sharedptr_once.

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

	* unwind-sjlj.c (fc_static): Define as a dereference of
	__w32_sharedptr_fc_static.
	* config/i386/w32-shared-ptr.c (__w32_sharedptr_fc_static):
	New variable.
	(__w32_sharedptr_initialize): Assign __w32_sharedptr_fc_static.

2002-08-16  Danny Smith  <dannysmith@users.sourceforge.net>

	* crtstuff.c (__do_frame_init): Call __w32_sharedptr_initialize.
	* config/i386/t-cygming (LIB2FUNCS_EXTRA): Add
	__w32_sharedptr_initialize.c
	* config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Adjust for common
	component in t-cygming.
	* config/i386/w32-shared-ptr.c (__w32_sharedptr_initialize):
	Initialize default terminate and uncaught_exception handlers
	to abort.
	* Remove dependency on windows.h.

2002-08-16  Adriano dos Santos Fernandes  <adrianosf@uol.com.br>

	* unwind-dw2-fde.c (unseen_objects, seen_objects): Support for
	w32 catch exceptions across EXE/DLLs boundaries.
	* config/i386/w32-shared-ptr.c: New file. Initialize shared
	pointers.

2002-05-15  Danny Smith  <dannysmith@users.sourceforge.net>

	Add Dwarf2 EH support for mingw.
	* config/i386/mingw32.h (ENDFILE_SPEC): Define.
	(STARTFILE_SPEC): Add crtbegin.o.
	(DWARF2_UNWIND_INFO): Define.
	* config.gcc(i[34567]86-*-mingw32*): Add crtbegin.o and
	crtend.o as extra parts
	* crtstuff.c : Add support for __MINGW32__ and __CYGWIN__.
	* libgcc2.c (L__main): Don't compile for mingw32.

2001-06-20  Mumit Khan  <khan@nanotech.wisc.edu>

	* ginclude/stdarg.h: Use RC_INVOKED guard for x86-win32 targets.
	* ginclude/stddef.h: Likewise.
	* ginclude/varargs.h: Likewise. Replace WINNT macro with __WIN32__.

libiberty/Changelog

2004-03-18  Danny Smith <dannysmith@users.sourceforge,net>

	Merge in libiberty from gcc trunk as at 2004-03-17.

	Apply Ian Lance Taylor patch 
	2004-03-17  Ian Lance Taylor  <ian@wasabisystems.com>

	* pexrd-unix.c: New file.
	* pexrd-generic.c: New file.
	* configure.ac: Add either ./pexrd-unix.o or ./pexrd-generic.o to
	pexecute.
	* strerror.c: Redefine sys_nerr and sys_errlist before including
	ansidecl.h and libiberty.h.
	* /Makefile.in: Run maint-deps.
	(CFILES): Add pexrd-unix.c and pexrd-generic.c.
	(CONFIGURED_OFILES): Add ./pexrd-unix.o and ./pexrd-generic.o.
	* pexecute.txh: Document pex_read and pex_read_close.
	* configure: Regenerate.
	* functions.texi: Regenerate.

include/ChangeLog

2004-03-29  Danny Smith <dannysmith@users.sourceforge,net>

	* include/pex-read.h. New file. Declare pex_read, pex_read_close.

cp/ChangeLog

2004-04-08  Danny Smith  <dannysmith@users,sourceforge.net>

	* method.c (make_alias_for_thunk): Don't use local aliases for
	thunks to stdcall or fastcall methods

2004-03-29  Danny Smith <dannysmith@users.sourceforge,net>

	* repo.c (extract_string); Use HOST_QUOTE_STR,	HOST_QUOTE_CHAR.
	HOST_QUOTED_QUOTE_STR.

2004-03-18  Danny Smith <dannysmith@users.sourceforge,net>

	Backport from csl-arm-branch.
	2004-02-12  Mark Mithchell  <mmitchel@gcc.gnu.org>

	* repo.c (IDENTIFIER_REPO_USED): Use tree flag 5.
	(IDENTIFIER_REPO_CHOSEN): Use tree flag 6.
	(extract_string): Use double quotes, rather than single quotes, on
	Windows.

2004-02-15  Danny Smith  <dannysmith@users,sourceforge.net>

	* decl2.c (import_export_vtable): Import vtables of
	dllimported class if class has a key method.


ada/ChangeLog

2003-10-31  Danny Smith  <dannysmith@users,sourceforge.net>

	* mkdir.c (__gnat_mkdir): Make sure we use the mkdir function and
	not a macro.

2003-10-22  Danny Smith  <dannysmith@users,sourceforge.net>

	* mingw32.h (MAXPATHLEN): Conform to standard mingw32 definition.

	* adaint.c (__gnat_dir_separator) Defines as '\\' rather than
	DIR_SEPARATOR for __MINGW32__.  Use throughout.
	(__gnat_is_dir_separator): New inline function.  Use throughout

libstdc++-v3/ChangeLog

2002-08-16  Adriano dos Santos Fernandes  <adrianosf@uol.com.br>

	* libsupc++/unwind-cxx.h (__terminate_handler,
	 __unexpected_handler):Support for w32 catch exceptions across
	 EXE/DLLs boundaries.
	* libsupc++/eh_terminate.cc (__terminate_handler,
	__unexpected_handler): Same.

2002-07-29  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/os/mingw32/bits/os_defines.h
	(_GLIBCPP_NO_LONG_DOUBLE_IO): Define.
	* include/bits/locale_facets.tcc (num_get::do_get):
	Use it. Cast long double to double.
	(num_put::do_put): Likewise.
	(money_get::do_get): Likewise.
	(money_put::do_put): Likewise.

2002-07-22  Danny Smith  <dannysmith@users.sourceforge.net>

	* libsupc++/typeinfo (__GXX_MERGED_TYPEINFO_NAMES): Define to
	0 for win32 targets to allow dynamic_cast to work across
	dll boundaries.


libjava/Changelog

2004-04-15  Danny Smith  <dannysmith@users.sourceforge.net>

	Backport from trunk.
	2004-03-02  Jan Hubicka  <jh@suse.cz>

	* configure.host: Pass -fno-omit-frame-pointer for i386.
	* configure.in: Likewise.
	* configure: Regenerate.

2003-10-28  Christopher Faylor  <cgf@redhat.com>

	* configure.in (CLASSPATH_SEP): Define as ';' for
	mingw32, else ':';.
	* configure: Regenerate.
	* Makefile.am (.java.class): Use CLASSPATH_SEP.
	* Makefile.in: Regenerate.

libf2c/ChangeLog

2003-10-01  Danny Smith  <dannysmith@users.sourceforge.net>

	* libI77/endfile.c: Define ftruncate as _chsize.

Mon Jun 14 17:33:04 1999  Mumit Khan  <khan@xraylith.wisc.edu>

	* libU77/sys_clock_.c (G77_system_clock_0): Support windows32.

Mon Jun 14 17:34:09 1999  Mumit Khan  <khan@xraylith.wisc.edu>

	* libU77/etime_.c (G77_etime_0): Provide support for new w32api
	headers on x86-win32.
	* libU77/dtime_.c (G77_dtime_0): Likewise.

libffi/ChangeLog

2003-11-01  Danny Smith  <dannysmith@users.sourceforge.net>

	* src/x86/win32.S: Define function symbols as functions.


