aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog.cygwin-mingw
blob: 853a6383464b4fe9e5d6bf9a57ee156e993aab28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
2003-07-31  Danny Smith  <dannysmith@users.sourceforge.net>

	Backport from trunk
	2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
	as "nul".

	2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/winnt.c (associated_type): Artificial methods are not
	affected by the import/export status of their class unless they are
	COMDAT.
	(i386_pe_dllimport_p): Do not mark artificial methods as dllimport.

2003-02-07  Danny Smith  <dannysmith@users.sourceforge.net>

	Backport from trunk
	* config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
	* config/i386/cygming.h (MS_AGGREGATE_RETURN): Override default
	definition.
	* config/i386/i386.h (ix86_return_in_memory): Return aggregate
	types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.

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

	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS):
	Merge 3.3 changes into branch.
	* config/i386/cygwin.h: Ditto
	* config/i386/mingw32.h: Ditto.

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-07-12  Christopher Faylor  <cgf@redhat.com>

	* config/i386/cygwin.h (CPP_SPEC): Fix include/w32api search behavior
	in absence of -mwin32.  Always define STANDARD_INCLUDE_DIR when
	required.
	* config/i386/cygwin2.c (add_mingw): Tack /mingw on the end of
	directories that have not been otherwise converted.
	* config/t-cygming (STMP_FIXINC): Define.

2002-07-05  Christopher Faylor  <cgf@redhat.com>

	* config/i386/mingw32.h: Remove cygming.h include.  Assume that it is
	already included in config.h.
	* config/i386/cygwin.h: Ditto.
	(LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
	(GCC_DRIVER_HOST_INITIALIZATION): Avoid a compiler warning.
	* config.gcc: Add cygming.h to mingw32 and cygwin targets.

2002-06-28  Christopher Faylor  <cgf@redhat.com>

	* config.gcc: Use new common makefile stub for cygwin and mingw32.

2002-06-28  Christopher Faylor  <cgf@redhat.com>

	* config/i386/t-cygming: New makefile stub.
	* config/i386/t-cygwin: Assume existence of new makefile stub.
	* config/i386/t-mingw32: Ditto.
	* config/i386/cygming.h: New file.
	* config/i386/cygwin.h: Use new common header file.
	* config/i386/mingw32.h: Ditto.

2002-06-27  Christopher Faylor  <cgf@redhat.com>

	* gcc/config.gcc: Add extra files to cygwin targets.  Default cygwin to
	posix threading.
	* i386/cygwin.h: Simplify special spec logic.  Define "wrappers" around
	certain path defines to accommodate -mno-cygwin.  Remove some #if 0'ed
	code.
	(GCC_DRIVER_HOST_INITIALIZATION): Define.
	* gcc/config/i386/i386.h: Add appropriate whitespace to some _SPEC
	defines.
	* gcc/config/i386/t-cygwin: Add compilation rules for new cygwin
	targets.
	* cygwin1.c: New file.
	* cygwin2.c: New file.

2002-06-22  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* gcc/config/i386/i386.c (ix86_comp_type_attributes): Fix
	thinko in comparison of fastcall types.

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.

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

	* config/i386/xm-mingw32.h (HOST_WIDEST_INT): Define.
	(HOST_BITS_PER_WIDEST_INT): Define.
	(HOST_WIDEST_INT_PRINT_DEC): Define.
	(HOST_WIDEST_INT_PRINT_UNSIGNED): Define.
	(HOST_WIDEST_INT_PRINT_HEX): Define.

2001-11-05  Eric Kohl  <ekohl@rz-online.de>

	*config/i386/cygwin.h (CPP_SPEC): Add fastcall attributes.
	(I386_PE_STRIP_ENCODING): Return length of internal fastcall
	prefix (+).
	(ASM_OUTPUT_LABELREF): Add _imp_ prefix now rather than in
	winnt.c (i386_pe_mark_dllimport). Convert internal
	fastcall decoration to MS-compatable decoration.
	* config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute
	 flag.
	* config/i386/mingw32.h(CPP_SPEC): Add fastcall attributes.
	* config/i386/i386.c (i386_valid_type_attribute_p): Accept
	'fastcall' as a valid type attribute.
	(i386_return_pops_args): Fastcall functions pop the stack.
	(init_cumulative_args): Reserve registers ECX and EDX if
	function has fastcall attribute.
	(function_arg_advance): Take care of argument type restrictions
	of fastcall functions.
	(function_arg): Use registers ECX and EDX if function has
	fastcall attribute.
	* config/i386/winnt.c (i386_pe_mark_dllimport): Don't add _imp_
	prefix now. It is done in ASM_OUTPUT_LABELREF in cygwin.h.
	(gen_fastcall_suffix): New function. Decorates
	a label name with a preliminary fastcall prefix (+) and the
	stdcall suffix.
	(i386_pe_encode_section_info): Calls gen_fastcall_suffix() if
	a symbol has a fastcall attribute.

	* doc/extend.texi: Added documentation of fastcall attribute.

2001-11-05  Danny Smith  <danny_r_smith_2001@yahoo.com.nz>

	* config/i386/i386.c (i386_comp_type_attributes): Check for
	mismatched fastcall types.
	config/winnt.c (i386_pe_unmark_dllimport): Adjust for changes
	in i386_pe_mark_dllimport.
	(i386_pe_mark_dllexport): Likewise.

2001-06-30  Danny Smith  <dannysmith@users.sourceforge.net>

	* gcc.c (canon_filename): New function for converting '/' to
	'\\' if __MINGW32__.
	(execute): Use it when passing filenames to pexecute.
	* config/i386/xm-mingw32.h (DIR_SEPARATOR): Make '/' the
	default.

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__.