1 2003-11-20 Christopher Faylor <cgf@redhat.com>
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
10 2003-07-31 Danny Smith <dannysmith@users.sourceforge.net>
13 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
15 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
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
23 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
25 2003-02-07 Danny Smith <dannysmith@users.sourceforge.net>
28 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
29 * config/i386/cygming.h (MS_AGGREGATE_RETURN): Override default
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>.
43 2002-12-03 Danny Smith <dannysmith@users.sourceforge.net>
45 * config/i386/mingw32.h (w32_file_id_cmp): Move declaration
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
53 * config/i386/x-mingw32: Here. New file.
54 * config.gcc (i[34567]86-*-mingw32*): Set xmake_file to
56 * gcc.c (TARGET_FILE_ID_CMP): Rename to HOST_FILE_ID_CMP
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
88 (__w32_sharedptr_unseen_objects): Remove global var.
89 (__w32_sharedptr_seen_objects): Ditto.
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):
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
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
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
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
184 * i386/cygwin.h: Simplify special spec logic. Define "wrappers" around
185 certain path defines to accommodate -mno-cygwin. Remove some #if 0'ed
187 (GCC_DRIVER_HOST_INITIALIZATION): Define.
188 * gcc/config/i386/i386.h: Add appropriate whitespace to some _SPEC
190 * gcc/config/i386/t-cygwin: Add compilation rules for new cygwin
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
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
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
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
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
261 (execute): Use it when passing filenames to pexecute.
262 * config/i386/xm-mingw32.h (DIR_SEPARATOR): Make '/' the
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__.