backport i386.c regparm fix.
[official-gcc.git] / gcc / ChangeLog.cygwin-mingw
blobd9a3b45483b30c559b1aa8622d686a6557cec0a4
1 2003-11-20  Christopher Faylor  <cgf@redhat.com>
3         Backport from trunk
4         2003-10-25  Richard Henderson  <rth@redhat.com>
6         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
7         (ix86_expand_prologue): Save and restore eax around stack probe if it's
8         live.
10 2003-07-31  Danny Smith  <dannysmith@users.sourceforge.net>
12         Backport from trunk
13         2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
15         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
16         as "nul".
18         2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
20         * config/i386/winnt.c (associated_type): Artificial methods are not
21         affected by the import/export status of their class unless they are
22         COMDAT.
23         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
25 2003-02-07  Danny Smith  <dannysmith@users.sourceforge.net>
27         Backport from trunk
28         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
29         * config/i386/cygming.h (MS_AGGREGATE_RETURN): Override default
30         definition.
31         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
32         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
34 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
36         * config/i386/mingw32.h (LINK_SPEC): Set
37         --enable-auto-image-base with -shared switch.
39 2002-12-04  Danny Smith  <dannysmith@users.sourceforge.net>
41         * config/i386/w32-shared-ptr.c: #include <windows.h>.
42         
43 2002-12-03  Danny Smith  <dannysmith@users.sourceforge.net>
45         * config/i386/mingw32.h (w32_file_id_cmp): Move declaration
46         to...
47         * config/i386/xm-mingw32.h: Here.
48         * config/i386/mingw32.h (TARGET_FILE_ID_CMP): Rename to
49         HOST_FILE_ID_CMP and move to...
50         * config/i386/xm-mingw32.h: Here.
51         * config/i386/t-mingw32 (EXTRA_GCC_OBJS): Move target and rule
52         to ...  
53         * config/i386/x-mingw32: Here. New file.
54         * config.gcc (i[34567]86-*-mingw32*): Set xmake_file to
55         i386/x-mingw32.
56         * gcc.c (TARGET_FILE_ID_CMP): Rename to HOST_FILE_ID_CMP
57         throughout.
59 2002-11-23  Danny Smith  <dannysmith@users.sourceforge.net>
61         * config/i386/mingw32-1.c: New file, defining
62         function w32_file_id_cmp.
63         * config/i386/mingw32.h (TARGET_FILE_ID_CMP): New macro,
64         defined as w32_file_id_cmp.
65         * config/i386/t-mingw32 (EXTRA_GCC_OBJS): Define
66         as mingw32-1.o.  Add rule for compiling.
67         * gcc.c (do_spec_1): Use TARGET_FILE_ID_CMP if defined.
69 2002-11-22  Danny Smith  <dannysmith@users.sourceforge.net>
71         * config/i386/w32-shared-ptr.c
72         (__w32_sharedptr_default_unexpected): New function, calling
73         current __w32_sharedptr_terminate reference.
74         (__w32_sharedptr_initialize): Adjust initialization of
75         w32_sharedptr->unexpected
77 2002-11-22  Danny Smith  <dannysmith@users.sourceforge.net>
79         * crtstuff.c: Split out sjlj initialization from Dwarf2
80         code, conditional on __USING_SJLJ_EXCEPTIONS__.
82 2002-11-22  Thomas Pfaff  <tpfaff@gmx.net>
84         * config/i386/w32-shared-ptr.h: New file. Define W32_EH_SHARED
85         structure, global pointer and function prototypes.
86         * config/i386/w32-shared-ptr.c (__w32_sharedptr): Change to public
87         global var.
88         (__w32_sharedptr_unseen_objects): Remove global var.
89         (__w32_sharedptr_seen_objects): Ditto.
90         (__ultobstr): Remove.
91         (__w32_eh_shared_initialize): New static function.
92         (__w32_sharedptr_initialize): Complete rewrite.
93         (__w32_sharedptr_set): New function.
94         (__w32_sharedptr_get): Ditto.
95         (__w32_sharedptr_fixup_after_fork): Ditto.
96         * unwind-dw2-fde.c: Include "i386/w32-shared-ptr.h".
97         (object_mutex): Define as dereference of
98         __w32_sharedptr->dw2_object_mutex.
99         (init_object_mutex_once): Define static variable once as
100         dereference of __w32_sharedptr->dw2_once.
101         (fde_split): Define static fde * marker as dereference of
102          __w32_sharedptr->dw2_marker.
103         * unwind-sjlj.c: Include "i386/w32-shared-ptr.h".
104         (fc_key, use_fc_key): Adjust shared_ptr definitions.
105         (fc_key_init_once): Likewise.
106         (fc_static): Likewise.
108 2002-11-16  Danny Smith  <dannysmith@users.sourceforge.net>
110         * unwind-sjlj.c (fc_key, use_fc_key): Define as 
111         dereferences of __w32_shared_ptr* variables.
112         (fc_key_init_once):Define static variable once as
113         dereference of __w32_sharedptr_once.
115 2002-10-20  Danny Smith  <dannysmith@users.sourceforge.net>
117         * unwind-sjlj.c (fc_static): Define as a dereference of
118         __w32_sharedptr_fc_static.
119         * config/i386/w32-shared-ptr.c (__w32_sharedptr_fc_static):
120         New variable.
121         (__w32_sharedptr_initialize): Assign __w32_sharedptr_fc_static.
123 2002-10-10  Danny Smith  <dannysmith@users.sourceforge.net>
125         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS):
126         Merge 3.3 changes into branch.
127         * config/i386/cygwin.h: Ditto
128         * config/i386/mingw32.h: Ditto.
130 2002-08-16  Danny Smith  <dannysmith@users.sourceforge.net>
132         * crtstuff.c (__do_frame_init): Call __w32_sharedptr_initialize.
133         * config/i386/t-cygming (LIB2FUNCS_EXTRA): Add
134         __w32_sharedptr_initialize.c
135         * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Adjust for common
136         component in t-cygming.
137         * config/i386/w32-shared-ptr.c (__w32_sharedptr_initialize):
138         Initialize default terminate and uncaught_exception handlers
139         to abort.
140         * Remove dependency on windows.h.
142 2002-08-16  Adriano dos Santos Fernandes  <adrianosf@uol.com.br>
144         * unwind-dw2-fde.c (unseen_objects, seen_objects): Support for
145         w32 catch exceptions across EXE/DLLs boundaries.
146         * config/i386/w32-shared-ptr.c: New file. Initialize shared
147         pointers.
149 2002-07-12  Christopher Faylor  <cgf@redhat.com>
151         * config/i386/cygwin.h (CPP_SPEC): Fix include/w32api search behavior
152         in absence of -mwin32.  Always define STANDARD_INCLUDE_DIR when
153         required.
154         * config/i386/cygwin2.c (add_mingw): Tack /mingw on the end of
155         directories that have not been otherwise converted.
156         * config/t-cygming (STMP_FIXINC): Define.
158 2002-07-05  Christopher Faylor  <cgf@redhat.com>
160         * config/i386/mingw32.h: Remove cygming.h include.  Assume that it is
161         already included in config.h.
162         * config/i386/cygwin.h: Ditto.
163         (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
164         (GCC_DRIVER_HOST_INITIALIZATION): Avoid a compiler warning.
165         * config.gcc: Add cygming.h to mingw32 and cygwin targets.
167 2002-06-28  Christopher Faylor  <cgf@redhat.com>
169         * config.gcc: Use new common makefile stub for cygwin and mingw32.
171 2002-06-28  Christopher Faylor  <cgf@redhat.com>
173         * config/i386/t-cygming: New makefile stub.
174         * config/i386/t-cygwin: Assume existence of new makefile stub.
175         * config/i386/t-mingw32: Ditto.
176         * config/i386/cygming.h: New file.
177         * config/i386/cygwin.h: Use new common header file.
178         * config/i386/mingw32.h: Ditto.
180 2002-06-27  Christopher Faylor  <cgf@redhat.com>
182         * gcc/config.gcc: Add extra files to cygwin targets.  Default cygwin to
183         posix threading.
184         * i386/cygwin.h: Simplify special spec logic.  Define "wrappers" around
185         certain path defines to accommodate -mno-cygwin.  Remove some #if 0'ed
186         code.
187         (GCC_DRIVER_HOST_INITIALIZATION): Define.
188         * gcc/config/i386/i386.h: Add appropriate whitespace to some _SPEC
189         defines.
190         * gcc/config/i386/t-cygwin: Add compilation rules for new cygwin
191         targets.
192         * cygwin1.c: New file.
193         * cygwin2.c: New file.
195 2002-06-22  Casper S. Hornstrup  <chorns@users.sourceforge.net>
197         * gcc/config/i386/i386.c (ix86_comp_type_attributes): Fix
198         thinko in comparison of fastcall types.
200 2002-05-15  Danny Smith  <dannysmith@users.sourceforge.net>
202         Add Dwarf2 EH support for mingw.
203         * config/i386/mingw32.h (ENDFILE_SPEC): Define.
204         (STARTFILE_SPEC): Add crtbegin.o.
205         (DWARF2_UNWIND_INFO): Define.
206         * config.gcc(i[34567]86-*-mingw32*): Add crtbegin.o and
207         crtend.o as extra parts
208         * crtstuff.c : Add support for __MINGW32__ and __CYGWIN__.
209         * libgcc2.c (L__main): Don't compile for mingw32.
211 2002-04-16  Danny Smith  <dannysmith@users.sourceforge.net>
213         * config/i386/xm-mingw32.h (HOST_WIDEST_INT): Define.
214         (HOST_BITS_PER_WIDEST_INT): Define.
215         (HOST_WIDEST_INT_PRINT_DEC): Define.
216         (HOST_WIDEST_INT_PRINT_UNSIGNED): Define.
217         (HOST_WIDEST_INT_PRINT_HEX): Define.
219 2001-11-05  Eric Kohl  <ekohl@rz-online.de>
221         *config/i386/cygwin.h (CPP_SPEC): Add fastcall attributes.
222         (I386_PE_STRIP_ENCODING): Return length of internal fastcall
223         prefix (+).
224         (ASM_OUTPUT_LABELREF): Add _imp_ prefix now rather than in
225         winnt.c (i386_pe_mark_dllimport). Convert internal
226         fastcall decoration to MS-compatable decoration.
227         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute
228          flag.
229         * config/i386/mingw32.h(CPP_SPEC): Add fastcall attributes.
230         * config/i386/i386.c (i386_valid_type_attribute_p): Accept
231         'fastcall' as a valid type attribute.
232         (i386_return_pops_args): Fastcall functions pop the stack.
233         (init_cumulative_args): Reserve registers ECX and EDX if
234         function has fastcall attribute.
235         (function_arg_advance): Take care of argument type restrictions
236         of fastcall functions.
237         (function_arg): Use registers ECX and EDX if function has
238         fastcall attribute.
239         * config/i386/winnt.c (i386_pe_mark_dllimport): Don't add _imp_
240         prefix now. It is done in ASM_OUTPUT_LABELREF in cygwin.h.
241         (gen_fastcall_suffix): New function. Decorates
242         a label name with a preliminary fastcall prefix (+) and the
243         stdcall suffix.
244         (i386_pe_encode_section_info): Calls gen_fastcall_suffix() if
245         a symbol has a fastcall attribute.
247         * doc/extend.texi: Added documentation of fastcall attribute.
249 2001-11-05  Danny Smith  <danny_r_smith_2001@yahoo.com.nz>
251         * config/i386/i386.c (i386_comp_type_attributes): Check for
252         mismatched fastcall types.
253         config/winnt.c (i386_pe_unmark_dllimport): Adjust for changes
254         in i386_pe_mark_dllimport.
255         (i386_pe_mark_dllexport): Likewise.
257 2001-06-30  Danny Smith  <dannysmith@users.sourceforge.net>
259         * gcc.c (canon_filename): New function for converting '/' to
260         '\\' if __MINGW32__.
261         (execute): Use it when passing filenames to pexecute.
262         * config/i386/xm-mingw32.h (DIR_SEPARATOR): Make '/' the
263         default.
265 2001-06-20  Mumit Khan  <khan@nanotech.wisc.edu>
267         * ginclude/stdarg.h: Use RC_INVOKED guard for x86-win32 targets.
268         * ginclude/stddef.h: Likewise.
269         * ginclude/varargs.h: Likewise. Replace WINNT macro with __WIN32__.