GCC 3.4.4-3
--------------------------------------

GCC C compiler.

Runtime requirements:
  cygwin-1.5.17-1
  libintl3-0.14.1-1
  libiconv2-1.9.2-1

Build requirements:
  cygwin-1.5.17-1
  gcc-core-3.3.3-3
  binutils-20050520-1
  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.2-1
  file-4.12-1
  perl-5.8.6-4
  texinfo-4.8-1
    or newer versions than these.

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

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

Build instructions:
  unpack gcc-core-3.4.4-3-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.4.4-3.sh prep
  ./gcc-3.4.4-3.sh conf
  ./gcc-3.4.4-3.sh build
  ./gcc-3.4.4-3.sh build_gnatlib_and_tools
  ./gcc-3.4.4-3.sh build_info
  ./gcc-3.4.4-3.sh check (optional)
  ./gcc-3.4.4-3.sh install
  ./gcc-3.4.4-3.sh strip_exe
  ./gcc-3.4.4-3.sh install2
  ./gcc-3.4.4-3.sh pre_pkg
  ./gcc-3.4.4-3.sh pkg
  ./gcc-3.4.4-3.sh spkg

This will create binary packages among:
  ./gcc-core-3.4.4-3.tar.bz2
  ./gcc-ada-3.4.4-3.tar.bz2
  ./gcc-g++-3.4.4-3.tar.bz2
  ./gcc-g77-3.4.4-3.tar.bz2
  ./gcc-java-3.4.4-3.tar.bz2
  ./gcc-objc-3.4.4-3.tar.bz2
  ./gcc-gdc-3.4.4-3.tar.bz2
  ./gcc-gpc-3.4.4-3.tar.bz2

And source packages among:
  ./gcc-core-3.4.4-3-src.tar.bz2
  ./gcc-all-3.4.4-3-src.tar.bz2
  ./gcc-ada-3.4.4-3-src.tar.bz2
  ./gcc-g++-3.4.4-3-src.tar.bz2
  ./gcc-g77-3.4.4-3-src.tar.bz2
  ./gcc-java-3.4.4-3-src.tar.bz2
  ./gcc-objc-3.4.4-3-src.tar.bz2
  ./gcc-testsuite-3.4.4-3-src.tar.bz2
  ./gcc-gdc-3.4.4-3-src.tar.bz2
  ./gcc-gpc-3.4.4-3-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.lst.gz

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

Port Notes:

---------- version 3.4.4-999 -----------

2009-02-28

	* Final release ever of Cygwin series 3 GCC.  Release bumped
	to ridiculously high number to indicate end-of-line.
	* Functionally identical to 3.4.4-3, but repackaged to use
	alternatives system, and synchronised with new release of
	version 4 also using alternatives system, to work around
	GNAT failure to respect --program-suffix, and allow easy
	co-installation and default selection of either version.


---------- version 3.4.4-3 -----------

2006-09-25

	* Promoted experimental release to current.
	* Implemented workaround for g77 library installation bug
	(PR17725/PR17726/PR21792).


---------- version 3.4.4-2 -----------

2006-07-20

        * Experimental release of gcc-3.4.4-2 to fix PR24196,
          which has been causing problems passing std::string
          instances to dlls.  Implemented the patch by Paolo
          Carlini rather than using --enable-fully-dynamic-string.
        * Restored and updated GNU Pascal, but highly experimental
          and not seriously tested yet.
        * Updated build script, but one problem remains: /usr/src
          must be mounted in managed mode when setup.exe is used
          to install the sources, or they must be copied from
          there to a managed directory before building.


---------- version 3.4.4-1 -----------

2005-06-04

        * First release of gcc-3.4.x as non test version
        * Added D compiler (with MinGW target supported)
        * Added no-cygwin directory for the MinGW Ada compiler
          Use --RTS=no-cygwin in addition to the -mno-cygwin flag
          when compiling Ada source which should not link against 
          cygwin1.dll. This command:
            $ /usr/bin/gnatmake --RTS=no-cygwin -mno-cygwin hello_a
          would result in:
            gcc -c --RTS=no-cygwin -mno-cygwin hello_a.adb
	    gnatbind -aO./ --RTS=no-cygwin -I- -x hello_a.ali
	    gnatlink hello_a.ali -mno-cygwin
	* Building Java executables with -mno-cygwin requires the
	  Win32 version of libiconv to be installed:
	  libiconv-1.9.2 -> Download sources or prebuilt binaries from: 
	                    http://www.gnu.org/software/libiconv


---------- version 3.4.1-1 -----------

2004-08-18:

        * Initial release of GCC 3.4.1
        * Pre-compiled headers appear to work on at least two systems 
          (NT4 and XP). I have not tested other windows versions.
          Please consider this feature a "technology preview".
        * Remove D, Pascal compiler from the distribution.


---------- 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 and Pascal front ends included.



Cygwin port maintained by: Dave Korn  <dave.korn.cygwin@artimi.com> 

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

MinGW / Cygwin specific ChangeLogs:

gcc/ChangeLog

Apply from trunk

	2004-12-27  Richard Henderson  <rth@redhat.com>
	PR target/17406
	* config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR
	note for allocate_stack_worker insn.

	2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
	PR target/16570
	* config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
	to tmake_file.
	(i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
	(i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
	to tmake_file.
	* config/i386/t-gmm_malloc: New file.
	* config/i386/t-pmm_malloc: Likewise.
	* config/i386/xmmintrin.h: Include <mm_malloc.h>.

	2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
	            Tanguy FautrÃ  <tfautre@pandora.be>

	* config/i386/pmm_malloc.h: New file.

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

	* config/i386/gmm_malloc.h: New file.


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

	* cppfiles.c (open_file): Reset errno to ENOENT if we try to open()
	a directory. 

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.

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.
	* 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-02-15  Danny Smith  <dannysmith@users,sourceforge.net>

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

java/ChangeLog
	Apply from trunk.
	2005-02-01  Ranjit Mathew  <rmathew@hotmail.com>

	PR java/9157
	* parse.y (build_string_concatenation): Remove redundant if.
	(patch_conditional_expr): Attempt to patch_string() the condition
	of a ?: as well, in addition to its other operands.

	2005-01-12  Ranjit Mathew  <rmathew@hotmail.com>

	* expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
	with TYPE_SIZE.

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

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

	Apply from trunk.
	2004-09-14  Nathan Myers  <ncm@cantrip.org>
	* include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
	for 11722: copy can replace move; the common case is __avail == 0.

	2004-09-13  Paolo Carlini  <pcarlini@suse.de>
	PR libstdc++/11722
	* include/std/std_fstream.h (xsgetn): Declare only.
	* include/bits/fstream.tcc (xsgetn): Define, optimize for the
	always_noconv() case: when __n > __buflen, copy the available
	buffer and issue a direct read.
	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.

	* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
	conditional.

2004-07-06  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc):
	Use _ftstati64, _lseeki64 if __MINGW32__ && _GLIBCXX_USE_LFS.

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-09-12  Danny Smith  <dannysmith@users.sourceforge.net>

	Backport from trunk.
	2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
	PR libgcj/14751
	* win32-threads.cc (_Jv_ThreadInitData): Zero out thread
	handle in newly-allocated _Jv_Thread_t.
	(_Jv_ThreadDestroyData): Close thread handle.
	(_Jv_ThreadStart): Remove obsolete comment.
	Store handle of newly-created thread in _Jv_Thread_t.
	* include/win32-threads.h: #define WIN32_LEAN_AND_MEAN
	before including <windows.h>
	#define _Jv_HaveCondDestroy

	2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
	* java/lang/natThread.cc (finalize_native): Destroy
	join conditional variable and mutex if these destroy
	operations are supported.

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.

2004-03-08  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (several):
	Removed IPv4-related conditional compilation.
	(mcastGrp): Added missing declarations.

2004-01-29  Mohan Embar  <gnustuff@thisiscool.com>

	* java/io/BufferedReader.java (sbuf): New field.
	(readLine): Use String.valueOf instead of new String() as per
	Per Bothner's suggestion. Use instance sbuf field instead of a
	local StringBuffer instance.
	* java/io/InputStreamReader.java (read(char[],int,int)): Pass the
	caller's buffer to refill().
	(read(void)): Pass our internal work buffer to refill if our
	input queue is empty.
	(refill): Changed return type to int. Use the specified buffer
	instead of our work buffer as per Bryce McKinlay's suggestion.
	Return the number of characters read or -1 for EOF.

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.
