Ticket #4163: cross1.dpatch

File cross1.dpatch, 133.4 KB (added by igloo, 4 years ago)
Line 
1Wed Jul  7 21:14:54 BST 2010  Ian Lynagh <igloo@earth.li>
2  * XXX cross-compilation hacks
3
4Fri Jul 16 00:28:18 BST 2010  Ian Lynagh <igloo@earth.li>
5  * Hacky ghc_platform_cleanse_rts.h
6
7Fri Jul 16 01:56:55 BST 2010  Ian Lynagh <igloo@earth.li>
8  * Switch to using TARGET instead of HOST in includes/
9  This also simplifies includes/stg/MachRegs.h, as now the COMPILING_GHC
10  and !COMPILING_GHC cases are the same.
11
12Fri Jul 16 02:08:57 BST 2010  Ian Lynagh <igloo@earth.li>
13  * Use TARGET tests rather than HOST tests in rts/
14  Ignore-this: 520a043d16862a6d1bc1e7fe6ee8b308
15
16Fri Jul 16 13:59:11 BST 2010  Ian Lynagh <igloo@earth.li>
17  * Fix RTS platforms
18
19Sat Jul 17 15:13:22 BST 2010  Ian Lynagh <igloo@earth.li>
20  * XXX Don't build DPH for now
21  It uses TH, which causes 32bit mmap problems on OS X 64
22
23Sat Jul 17 15:30:02 BST 2010  Ian Lynagh <igloo@earth.li>
24  * XXX More linker mmap workarounds
25
26New patches:
27
28[XXX cross-compilation hacks
29Ian Lynagh <igloo@earth.li>**20100707201454] {
30hunk ./configure.ac 751
31-AC_TRY_RUN([
32-#include <sys/types.h>
33-#include <sys/time.h>
34-int main(void) {
35-  struct itimerval tval;
36-  tval.it_value.tv_sec = 1;
37-  tval.it_value.tv_usec = 0;
38-  tval.it_interval = tval.it_value;
39-  return setitimer(ITIMER_VIRTUAL, &tval, (void*)0) != 0;
40-}
41-],[AC_DEFINE([HAVE_SETITIMER_VIRTUAL], [1], [Define to 1 if setitimer accepts ITIMER_VIRTUAL, 0 else.])])
42+# AC_TRY_RUN([
43+# #include <sys/types.h>
44+# #include <sys/time.h>
45+# int main(void) {
46+#   struct itimerval tval;
47+#   tval.it_value.tv_sec = 1;
48+#   tval.it_value.tv_usec = 0;
49+#   tval.it_interval = tval.it_value;
50+#   return setitimer(ITIMER_VIRTUAL, &tval, (void*)0) != 0;
51+# }
52+# ],[AC_DEFINE([HAVE_SETITIMER_VIRTUAL], [1], [Define to 1 if setitimer accepts ITIMER_VIRTUAL, 0 else.])])
53+#
54+# XXX This is a huge hack, to avoid a failure where configure thinks it
55+# can't run a program when cross-compiling:
56+AC_DEFINE([HAVE_SETITIMER_VIRTUAL], [1], [Define to 1 if setitimer accepts ITIMER_VIRTUAL, 0 else.])
57hunk ./configure.ac 866
58-FP_CHECK_TIMER_CREATE
59+# XXX Don't do this for now as it tries to run something, which disagrees
60+# with cross-compilation:
61+# FP_CHECK_TIMER_CREATE
62}
63
64[Hacky ghc_platform_cleanse_rts.h
65Ian Lynagh <igloo@earth.li>**20100715232818] {
66hunk ./includes/ghc.mk 74
67+       @echo "#include \"ghc_platform_cleanse_rts.h\"" >> $@
68+       @echo >> $@
69addfile ./includes/ghc_platform_cleanse_rts.h
70hunk ./includes/ghc_platform_cleanse_rts.h 1
71+#ifndef __GHC_PLATFORM_CLEANSE_RTS_H__
72+#undef __GHC_PLATFORM_CLEANSE_RTS_H__
73+
74+/* XXX This should be auto-generated with the right symbol names */
75+
76+#undef BuildPlatform_TYPE
77+#undef HostPlatform_TYPE
78+
79+#undef i386_apple_darwin_BUILD
80+#undef i386_apple_darwin_HOST
81+
82+#undef i386_BUILD_ARCH
83+#undef i386_HOST_ARCH
84+#undef BUILD_ARCH
85+#undef HOST_ARCH
86+
87+#undef darwin_BUILD_OS
88+#undef darwin_HOST_OS
89+#undef BUILD_OS
90+#undef HOST_OS
91+
92+#undef apple_BUILD_VENDOR
93+#undef apple_HOST_VENDOR
94+#undef BUILD_VENDOR
95+#undef HOST_VENDOR
96+
97+#undef TargetPlatform_TYPE
98+#undef i386_apple_darwin_TARGET
99+#undef i386_TARGET_ARCH
100+#undef TARGET_ARCH
101+#undef darwin_TARGET_OS
102+#undef TARGET_OS
103+#undef apple_TARGET_VENDOR
104+
105+#endif /* __GHC_PLATFORM_CLEANSE_RTS_H__ */
106}
107
108[Switch to using TARGET instead of HOST in includes/
109Ian Lynagh <igloo@earth.li>**20100716005655
110 This also simplifies includes/stg/MachRegs.h, as now the COMPILING_GHC
111 and !COMPILING_GHC cases are the same.
112] {
113hunk ./compiler/HsVersions.h 12
114-
115-/* Useful in the headers that we share with the RTS */
116-#define COMPILING_GHC 1
117hunk ./includes/Rts.h 54
118-#if !defined(mingw32_HOST_OS)
119+#if !defined(mingw32_TARGET_OS)
120hunk ./includes/Rts.h 67
121-#ifdef mingw32_HOST_OS
122+#ifdef mingw32_TARGET_OS
123hunk ./includes/Rts.h 146
124-#if defined(mingw32_HOST_OS)
125+#if defined(mingw32_TARGET_OS)
126hunk ./includes/Rts.h 226
127-#ifndef mingw32_HOST_OS
128+#ifndef mingw32_TARGET_OS
129hunk ./includes/RtsAPI.h 53
130-#ifndef mingw32_HOST_OS
131+#ifndef mingw32_TARGET_OS
132hunk ./includes/RtsAPI.h 172
133-#if defined(mingw32_HOST_OS) && defined(__PIC__) && !defined(COMPILING_BASE_PACKAGE)
134+#if defined(mingw32_TARGET_OS) && defined(__PIC__) && !defined(COMPILING_BASE_PACKAGE)
135hunk ./includes/Stg.h 295
136-#if sparc_HOST_ARCH
137+#if sparc_TARGET_ARCH
138hunk ./includes/Stg.h 310
139-#else /* ! sparc_HOST_ARCH */
140+#else /* ! sparc_TARGET_ARCH */
141hunk ./includes/Stg.h 349
142-#endif /* ! sparc_HOST_ARCH */
143+#endif /* ! sparc_TARGET_ARCH */
144hunk ./includes/Stg.h 457
145-#ifdef x86_64_HOST_ARCH   
146+#ifdef x86_64_TARGET_ARCH   
147hunk ./includes/mkDerivedConstants.c 434
148-#ifdef mingw32_HOST_OS
149+#ifdef mingw32_TARGET_OS
150hunk ./includes/rts/IOManager.h 17
151-#if defined(mingw32_HOST_OS)
152+#if defined(mingw32_TARGET_OS)
153hunk ./includes/rts/Threads.h 43
154-#if !defined(mingw32_HOST_OS)
155+#if !defined(mingw32_TARGET_OS)
156hunk ./includes/rts/storage/MBlock.h 130
157-#if x86_64_HOST_ARCH
158+#if x86_64_TARGET_ARCH
159hunk ./includes/rts/storage/TSO.h 37
160-#if defined(mingw32_HOST_OS)
161+#if defined(mingw32_TARGET_OS)
162hunk ./includes/rts/storage/TSO.h 54
163-#if defined(mingw32_HOST_OS)
164+#if defined(mingw32_TARGET_OS)
165hunk ./includes/rts/storage/TSO.h 148
166-#ifdef mingw32_HOST_OS
167+#ifdef mingw32_TARGET_OS
168hunk ./includes/shell-tools.c 8
169-#ifdef mingw32_HOST_OS
170+#ifdef mingw32_TARGET_OS
171hunk ./includes/shell-tools.c 24
172-#ifndef mingw32_HOST_OS
173+#ifndef mingw32_TARGET_OS
174hunk ./includes/stg/DLL.h 17
175-#if defined(__PIC__) && defined(mingw32_HOST_OS)
176+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
177hunk ./includes/stg/DLL.h 48
178-# if defined(__PIC__) && defined(mingw32_HOST_OS)
179+# if defined(__PIC__) && defined(mingw32_TARGET_OS)
180hunk ./includes/stg/MachRegs.h 34
181-/* NOTE: when testing the platform in this file we must test either
182- * *_HOST_ARCH and *_TARGET_ARCH, depending on whether COMPILING_GHC
183- * is set.  This is because when we're compiling the RTS and HC code,
184- * the platform we're running on is the HOST, but when compiling GHC
185- * we want to know about the register mapping on the TARGET platform.
186- */
187-#ifdef COMPILING_GHC
188hunk ./includes/stg/MachRegs.h 44
189-#else
190-#define alpha_REGS    alpha_HOST_ARCH
191-#define hppa1_1_REGS  hppa1_1_HOST_ARCH
192-#define i386_REGS     i386_HOST_ARCH
193-#define x86_64_REGS   x86_64_HOST_ARCH
194-#define m68k_REGS     m68k_HOST_ARCH
195-#define mips_REGS     (mipsel_HOST_ARCH || mipseb_HOST_ARCH)
196-#define powerpc_REGS  (powerpc_HOST_ARCH || powerpc64_HOST_ARCH || rs6000_HOST_ARCH)
197-#define ia64_REGS     ia64_HOST_ARCH
198-#define sparc_REGS    sparc_HOST_ARCH
199-#define darwin_REGS   darwin_HOST_OS
200-#endif
201hunk ./includes/stg/MiscClosures.h 310
202-#ifdef mingw32_HOST_OS
203+#ifdef mingw32_TARGET_OS
204hunk ./includes/stg/MiscClosures.h 394
205-#ifdef mingw32_HOST_OS
206+#ifdef mingw32_TARGET_OS
207hunk ./includes/stg/SMP.h 104
208-#if i386_HOST_ARCH || x86_64_HOST_ARCH
209+#if i386_TARGET_ARCH || x86_64_TARGET_ARCH
210hunk ./includes/stg/SMP.h 113
211-#elif powerpc_HOST_ARCH
212+#elif powerpc_TARGET_ARCH
213hunk ./includes/stg/SMP.h 121
214-#elif sparc_HOST_ARCH
215+#elif sparc_TARGET_ARCH
216hunk ./includes/stg/SMP.h 144
217-#if i386_HOST_ARCH || x86_64_HOST_ARCH
218+#if i386_TARGET_ARCH || x86_64_TARGET_ARCH
219hunk ./includes/stg/SMP.h 150
220-#elif powerpc_HOST_ARCH
221+#elif powerpc_TARGET_ARCH
222hunk ./includes/stg/SMP.h 164
223-#elif sparc_HOST_ARCH
224+#elif sparc_TARGET_ARCH
225hunk ./includes/stg/SMP.h 187
226-#if defined(i386_HOST_ARCH) || defined(x86_64_HOST_ARCH)
227+#if defined(i386_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
228hunk ./includes/stg/SMP.h 208
229-#if defined(i386_HOST_ARCH) || defined(x86_64_HOST_ARCH)
230+#if defined(i386_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
231hunk ./includes/stg/SMP.h 229
232-#if defined(i386_HOST_ARCH) || defined(x86_64_HOST_ARCH)
233+#if defined(i386_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
234hunk ./includes/stg/SMP.h 247
235-#if i386_HOST_ARCH || x86_64_HOST_ARCH
236+#if i386_TARGET_ARCH || x86_64_TARGET_ARCH
237hunk ./includes/stg/SMP.h 249
238-#elif powerpc_HOST_ARCH
239+#elif powerpc_TARGET_ARCH
240hunk ./includes/stg/SMP.h 251
241-#elif sparc_HOST_ARCH
242+#elif sparc_TARGET_ARCH
243hunk ./includes/stg/SMP.h 263
244-#if i386_HOST_ARCH
245+#if i386_TARGET_ARCH
246hunk ./includes/stg/SMP.h 265
247-#elif x86_64_HOST_ARCH
248+#elif x86_64_TARGET_ARCH
249hunk ./includes/stg/SMP.h 267
250-#elif powerpc_HOST_ARCH
251+#elif powerpc_TARGET_ARCH
252hunk ./includes/stg/SMP.h 269
253-#elif sparc_HOST_ARCH
254+#elif sparc_TARGET_ARCH
255hunk ./includes/stg/SMP.h 280
256-#if i386_HOST_ARCH
257+#if i386_TARGET_ARCH
258hunk ./includes/stg/SMP.h 282
259-#elif x86_64_HOST_ARCH
260+#elif x86_64_TARGET_ARCH
261hunk ./includes/stg/SMP.h 284
262-#elif powerpc_HOST_ARCH
263+#elif powerpc_TARGET_ARCH
264hunk ./includes/stg/SMP.h 286
265-#elif sparc_HOST_ARCH
266+#elif sparc_TARGET_ARCH
267hunk ./includes/stg/TailCalls.h 35
268-#if i386_HOST_ARCH
269+#if i386_TARGET_ARCH
270hunk ./includes/stg/TailCalls.h 64
271-#endif /* i386_HOST_ARCH */
272+#endif /* i386_TARGET_ARCH */
273hunk ./includes/stg/TailCalls.h 70
274-#if x86_64_HOST_ARCH
275+#if x86_64_TARGET_ARCH
276hunk ./includes/stg/TailCalls.h 99
277-#endif /* x86_64_HOST_ARCH */
278+#endif /* x86_64_TARGET_ARCH */
279hunk ./includes/stg/TailCalls.h 105
280-#ifdef sparc_HOST_ARCH
281+#ifdef sparc_TARGET_ARCH
282hunk ./includes/stg/TailCalls.h 117
283-#endif /* sparc_HOST_ARCH */
284+#endif /* sparc_TARGET_ARCH */
285hunk ./includes/stg/TailCalls.h 123
286-#ifdef alpha_HOST_ARCH
287+#ifdef alpha_TARGET_ARCH
288hunk ./includes/stg/TailCalls.h 139
289-#endif /* alpha_HOST_ARCH */
290+#endif /* alpha_TARGET_ARCH */
291hunk ./includes/stg/TailCalls.h 185
292-#ifdef hppa1_1_hp_hpux_HOST
293+#ifdef hppa1_1_hp_hpux_TARGET
294hunk ./includes/stg/TailCalls.h 194
295-#endif /* hppa1_1_hp_hpux_HOST */
296+#endif /* hppa1_1_hp_hpux_TARGET */
297hunk ./includes/stg/TailCalls.h 200
298-#ifdef powerpc_HOST_ARCH
299+#ifdef powerpc_TARGET_ARCH
300hunk ./includes/stg/TailCalls.h 228
301-#endif /* powerpc_HOST_ARCH */
302+#endif /* powerpc_TARGET_ARCH */
303hunk ./includes/stg/TailCalls.h 230
304-#ifdef powerpc64_HOST_ARCH
305+#ifdef powerpc64_TARGET_ARCH
306hunk ./includes/stg/TailCalls.h 238
307-#ifdef ia64_HOST_ARCH
308+#ifdef ia64_TARGET_ARCH
309hunk ./includes/stg/TailCalls.h 262
310-#ifdef mips_HOST_ARCH
311+#ifdef mips_TARGET_ARCH
312hunk ./includes/stg/TailCalls.h 279
313-#endif /* mips_HOST_ARCH */
314+#endif /* mips_TARGET_ARCH */
315}
316
317[Use TARGET tests rather than HOST tests in rts/
318Ian Lynagh <igloo@earth.li>**20100716010857
319 Ignore-this: 520a043d16862a6d1bc1e7fe6ee8b308
320] {
321hunk ./rts/Adjustor.c 50
322-#if defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)
323+#if defined(i386_TARGET_ARCH) && defined(darwin_TARGET_OS)
324hunk ./rts/Adjustor.c 52
325-#elif defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH)
326+#elif defined(powerpc_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH)
327hunk ./rts/Adjustor.c 114
328-#ifdef mingw32_HOST_OS
329+#ifdef mingw32_TARGET_OS
330hunk ./rts/Adjustor.c 146
331-#if defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS)
332+#if defined(powerpc_TARGET_ARCH) && defined(linux_TARGET_OS)
333hunk ./rts/Adjustor.c 155
334-#if defined(i386_HOST_ARCH) && !defined(darwin_HOST_OS)
335+#if defined(i386_TARGET_ARCH) && !defined(darwin_TARGET_OS)
336hunk ./rts/Adjustor.c 186
337-#if defined(x86_64_HOST_ARCH)
338+#if defined(x86_64_TARGET_ARCH)
339hunk ./rts/Adjustor.c 199
340-#if defined(alpha_HOST_ARCH)
341+#if defined(alpha_TARGET_ARCH)
342hunk ./rts/Adjustor.c 201
343-# if defined(linux_HOST_OS)
344+# if defined(linux_TARGET_OS)
345hunk ./rts/Adjustor.c 208
346-#if defined(ia64_HOST_ARCH)
347+#if defined(ia64_TARGET_ARCH)
348hunk ./rts/Adjustor.c 238
349-#if defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS)
350+#if defined(powerpc_TARGET_ARCH) && defined(linux_TARGET_OS)
351hunk ./rts/Adjustor.c 247
352-#if defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH)
353-#if !(defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS))
354+#if defined(powerpc_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH)
355+#if !(defined(powerpc_TARGET_ARCH) && defined(linux_TARGET_OS))
356hunk ./rts/Adjustor.c 256
357-#if defined(powerpc_HOST_ARCH) && defined(darwin_HOST_OS)
358+#if defined(powerpc_TARGET_ARCH) && defined(darwin_TARGET_OS)
359hunk ./rts/Adjustor.c 263
360-#elif defined(powerpc64_HOST_ARCH) && defined(darwin_HOST_OS)
361+#elif defined(powerpc64_TARGET_ARCH) && defined(darwin_TARGET_OS)
362hunk ./rts/Adjustor.c 291
363-#if defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)
364+#if defined(i386_TARGET_ARCH) && defined(darwin_TARGET_OS)
365hunk ./rts/Adjustor.c 307
366-#if (defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)) || defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH)
367+#if (defined(i386_TARGET_ARCH) && defined(darwin_TARGET_OS)) || defined(powerpc_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH)
368hunk ./rts/Adjustor.c 339
369-#if !defined(powerpc_HOST_ARCH) && !defined(powerpc64_HOST_ARCH) && !defined(x86_64_HOST_ARCH)
370+#if !defined(powerpc_TARGET_ARCH) && !defined(powerpc64_TARGET_ARCH) && !defined(x86_64_TARGET_ARCH)
371hunk ./rts/Adjustor.c 350
372-#if defined(i386_HOST_ARCH) && !defined(darwin_HOST_OS)
373+#if defined(i386_TARGET_ARCH) && !defined(darwin_TARGET_OS)
374hunk ./rts/Adjustor.c 383
375-#if defined(i386_HOST_ARCH) && !defined(darwin_HOST_OS)
376+#if defined(i386_TARGET_ARCH) && !defined(darwin_TARGET_OS)
377hunk ./rts/Adjustor.c 425
378-#elif defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)
379+#elif defined(i386_TARGET_ARCH) && defined(darwin_TARGET_OS)
380hunk ./rts/Adjustor.c 460
381-#elif defined(x86_64_HOST_ARCH)
382+#elif defined(x86_64_TARGET_ARCH)
383hunk ./rts/Adjustor.c 564
384-#elif defined(sparc_HOST_ARCH)
385+#elif defined(sparc_TARGET_ARCH)
386hunk ./rts/Adjustor.c 629
387-#elif defined(alpha_HOST_ARCH)
388+#elif defined(alpha_TARGET_ARCH)
389hunk ./rts/Adjustor.c 652
390-     reason described under sparc_HOST_ARCH above by JRS, 21 Aug 01.
391+     reason described under sparc_TARGET_ARCH above by JRS, 21 Aug 01.
392hunk ./rts/Adjustor.c 687
393-#elif defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS)
394+#elif defined(powerpc_TARGET_ARCH) && defined(linux_TARGET_OS)
395hunk ./rts/Adjustor.c 896
396-#elif defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH)
397+#elif defined(powerpc_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH)
398hunk ./rts/Adjustor.c 944
399-#if defined(powerpc_HOST_ARCH)
400+#if defined(powerpc_TARGET_ARCH)
401hunk ./rts/Adjustor.c 1003
402-#elif defined(ia64_HOST_ARCH)
403+#elif defined(ia64_TARGET_ARCH)
404hunk ./rts/Adjustor.c 1110
405-#if defined(i386_HOST_ARCH) && !defined(darwin_HOST_OS)
406+#if defined(i386_TARGET_ARCH) && !defined(darwin_TARGET_OS)
407hunk ./rts/Adjustor.c 1123
408-#elif defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)
409+#elif defined(i386_TARGET_ARCH) && defined(darwin_TARGET_OS)
410hunk ./rts/Adjustor.c 1129
411-#elif defined(x86_64_HOST_ARCH)
412+#elif defined(x86_64_TARGET_ARCH)
413hunk ./rts/Adjustor.c 1138
414-#elif defined(sparc_HOST_ARCH)
415+#elif defined(sparc_TARGET_ARCH)
416hunk ./rts/Adjustor.c 1146
417-#elif defined(alpha_HOST_ARCH)
418+#elif defined(alpha_TARGET_ARCH)
419hunk ./rts/Adjustor.c 1154
420-#elif defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS)
421+#elif defined(powerpc_TARGET_ARCH) && defined(linux_TARGET_OS)
422hunk ./rts/Adjustor.c 1160
423-#elif defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH)
424+#elif defined(powerpc_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH)
425hunk ./rts/Adjustor.c 1166
426-#elif defined(ia64_HOST_ARCH)
427+#elif defined(ia64_TARGET_ARCH)
428hunk ./rts/AdjustorAsm.S 5
429-#if defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH)
430-#if !(defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS))
431+#if defined(powerpc_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH)
432+#if !(defined(powerpc_TARGET_ARCH) && defined(linux_TARGET_OS))
433hunk ./rts/AdjustorAsm.S 16
434-#if defined(powerpc64_HOST_ARCH)
435+#if defined(powerpc64_TARGET_ARCH)
436hunk ./rts/AdjustorAsm.S 33
437-#if defined(powerpc_HOST_ARCH) && defined(darwin_HOST_OS)
438+#if defined(powerpc_TARGET_ARCH) && defined(darwin_TARGET_OS)
439hunk ./rts/AdjustorAsm.S 35
440-#elif defined(powerpc64_HOST_ARCH) && defined(darwin_HOST_OS)
441+#elif defined(powerpc64_TARGET_ARCH) && defined(darwin_TARGET_OS)
442hunk ./rts/AdjustorAsm.S 47
443-#if !defined(darwin_HOST_OS)
444+#if !defined(darwin_TARGET_OS)
445hunk ./rts/AdjustorAsm.S 87
446-#ifdef powerpc64_HOST_ARCH
447+#ifdef powerpc64_TARGET_ARCH
448hunk ./rts/AdjustorAsm.S 130
449-#if defined(darwin_HOST_OS)
450+#if defined(darwin_TARGET_OS)
451hunk ./rts/AdjustorAsm.S 150
452-#elif defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)
453+#elif defined(i386_TARGET_ARCH) && defined(darwin_TARGET_OS)
454hunk ./rts/Capability.h 114
455-#ifndef mingw32_HOST_OS
456+#ifndef mingw32_TARGET_OS
457hunk ./rts/HeapStackCheck.cmm 664
458-#ifdef mingw32_HOST_OS
459+#ifdef mingw32_TARGET_OS
460hunk ./rts/Interpreter.c 34
461-#if defined(mingw32_HOST_OS) && !defined(__PIC__)
462+#if defined(mingw32_TARGET_OS) && !defined(__PIC__)
463hunk ./rts/Linker.c 32
464-#if !defined(mingw32_HOST_OS)
465+#if !defined(mingw32_TARGET_OS)
466hunk ./rts/Linker.c 36
467-#if defined(mingw32_HOST_OS)
468+#if defined(mingw32_TARGET_OS)
469hunk ./rts/Linker.c 58
470-#if defined(cygwin32_HOST_OS)
471+#if defined(cygwin32_TARGET_OS)
472hunk ./rts/Linker.c 74
473-#if defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS) || defined(darwin_HOST_OS)
474+#if defined(linux_TARGET_OS) || defined(freebsd_TARGET_OS) || defined(dragonfly_TARGET_OS) || defined(netbsd_TARGET_OS) || defined(openbsd_TARGET_OS) || defined(darwin_TARGET_OS)
475hunk ./rts/Linker.c 85
476-#if defined(linux_HOST_OS) || defined(solaris2_HOST_OS) || defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS)
477+#if defined(linux_TARGET_OS) || defined(solaris2_TARGET_OS) || defined(freebsd_TARGET_OS) || defined(dragonfly_TARGET_OS) || defined(netbsd_TARGET_OS) || defined(openbsd_TARGET_OS)
478hunk ./rts/Linker.c 89
479-#elif defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
480+#elif defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
481hunk ./rts/Linker.c 93
482-#elif defined(darwin_HOST_OS)
483+#elif defined(darwin_TARGET_OS)
484hunk ./rts/Linker.c 102
485-#if defined(powerpc_HOST_ARCH)
486+#if defined(powerpc_TARGET_ARCH)
487hunk ./rts/Linker.c 105
488-#if defined(x86_64_HOST_ARCH)
489+#if defined(x86_64_TARGET_ARCH)
490hunk ./rts/Linker.c 123
491-#if defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
492+#if defined(powerpc_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
493hunk ./rts/Linker.c 140
494-#if defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
495+#if defined(powerpc_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
496hunk ./rts/Linker.c 143
497-#ifdef powerpc_HOST_ARCH
498+#ifdef powerpc_TARGET_ARCH
499hunk ./rts/Linker.c 191
500-#if defined(x86_64_HOST_ARCH) && defined(MAP_32BIT)
501+#if defined(x86_64_TARGET_ARCH) && defined(MAP_32BIT)
502hunk ./rts/Linker.c 211
503-#if defined(x86_64_HOST_ARCH)
504+#if defined(x86_64_TARGET_ARCH)
505hunk ./rts/Linker.c 243
506-#if !defined (mingw32_HOST_OS)
507+#if !defined (mingw32_TARGET_OS)
508hunk ./rts/Linker.c 255
509-#if defined (cygwin32_HOST_OS)
510+#if defined (cygwin32_TARGET_OS)
511hunk ./rts/Linker.c 339
512-#elif !defined(mingw32_HOST_OS)
513+#elif !defined(mingw32_TARGET_OS)
514hunk ./rts/Linker.c 342
515-#else /* defined(mingw32_HOST_OS) */
516+#else /* defined(mingw32_TARGET_OS) */
517hunk ./rts/Linker.c 460
518-#if defined(darwin_HOST_OS) && HAVE_PRINTF_LDBLSTUB
519+#if defined(darwin_TARGET_OS) && HAVE_PRINTF_LDBLSTUB
520hunk ./rts/Linker.c 516
521-#if !defined(mingw32_HOST_OS)
522+#if !defined(mingw32_TARGET_OS)
523hunk ./rts/Linker.c 689
524-#if defined(__PIC__) && defined(mingw32_HOST_OS)
525+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
526hunk ./rts/Linker.c 997
527-#if defined(darwin_HOST_OS) && defined(powerpc_HOST_ARCH)
528+#if defined(darwin_TARGET_OS) && defined(powerpc_TARGET_ARCH)
529hunk ./rts/Linker.c 1008
530-#if defined(__PIC__) && defined(mingw32_HOST_OS)
531+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
532hunk ./rts/Linker.c 1060
533-#if defined(darwin_HOST_OS) && defined(i386_HOST_ARCH)
534+#if defined(darwin_TARGET_OS) && defined(i386_TARGET_ARCH)
535hunk ./rts/Linker.c 1146
536-#   if defined(OBJFORMAT_MACHO) && defined(powerpc_HOST_ARCH)
537+#   if defined(OBJFORMAT_MACHO) && defined(powerpc_TARGET_ARCH)
538hunk ./rts/Linker.c 1167
539-#if defined(x86_64_HOST_ARCH)
540+#if defined(x86_64_TARGET_ARCH)
541hunk ./rts/Linker.c 1174
542-#if defined(mingw32_HOST_OS)
543+#if defined(mingw32_TARGET_OS)
544hunk ./rts/Linker.c 1536
545-#if defined(x86_64_HOST_ARCH)
546+#if defined(x86_64_TARGET_ARCH)
547hunk ./rts/Linker.c 1553
548-#if defined(x86_64_HOST_ARCH)
549+#if defined(x86_64_TARGET_ARCH)
550hunk ./rts/Linker.c 1560
551-#if defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS)
552+#if defined(freebsd_TARGET_OS) || defined(dragonfly_TARGET_OS)
553hunk ./rts/Linker.c 1673
554-#if defined(openbsd_HOST_OS)
555+#if defined(openbsd_TARGET_OS)
556hunk ./rts/Linker.c 1691
557-#   if defined(mingw32_HOST_OS)
558+#   if defined(mingw32_TARGET_OS)
559hunk ./rts/Linker.c 1696
560-#   elif defined(darwin_HOST_OS)
561+#   elif defined(darwin_TARGET_OS)
562hunk ./rts/Linker.c 1722
563-#  if defined(OBJFORMAT_MACHO) && (defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH))
564+#  if defined(OBJFORMAT_MACHO) && (defined(powerpc_TARGET_ARCH) || defined(x86_64_TARGET_ARCH))
565hunk ./rts/Linker.c 1728
566-#  elif defined(OBJFORMAT_ELF) && (defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH))
567+#  elif defined(OBJFORMAT_ELF) && (defined(powerpc_TARGET_ARCH) || defined(x86_64_TARGET_ARCH))
568hunk ./rts/Linker.c 1840
569-               // #ifdef mingw32_HOST_OS
570+               // #ifdef mingw32_TARGET_OS
571hunk ./rts/Linker.c 1916
572-#if defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
573+#if defined(powerpc_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
574hunk ./rts/Linker.c 1945
575-#ifdef darwin_HOST_OS
576+#ifdef darwin_TARGET_OS
577hunk ./rts/Linker.c 2006
578-#ifdef powerpc_HOST_ARCH
579+#ifdef powerpc_TARGET_ARCH
580hunk ./rts/Linker.c 2021
581-#ifdef x86_64_HOST_ARCH
582+#ifdef x86_64_TARGET_ARCH
583hunk ./rts/Linker.c 2037
584-#ifdef powerpc_HOST_ARCH
585+#ifdef powerpc_TARGET_ARCH
586hunk ./rts/Linker.c 2936
587-#if defined(sparc_HOST_ARCH)
588+#if defined(sparc_TARGET_ARCH)
589hunk ./rts/Linker.c 2938
590-#elif defined(i386_HOST_ARCH)
591+#elif defined(i386_TARGET_ARCH)
592hunk ./rts/Linker.c 2940
593-#elif defined(x86_64_HOST_ARCH)
594+#elif defined(x86_64_TARGET_ARCH)
595hunk ./rts/Linker.c 2945
596-#if !defined(openbsd_HOST_OS)
597+#if !defined(openbsd_TARGET_OS)
598hunk ./rts/Linker.c 3582
599-#        ifdef i386_HOST_ARCH
600+#        ifdef i386_TARGET_ARCH
601hunk ./rts/Linker.c 3617
602-#if defined(DEBUG) || defined(sparc_HOST_ARCH) || defined(ia64_HOST_ARCH) || defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
603+#if defined(DEBUG) || defined(sparc_TARGET_ARCH) || defined(ia64_TARGET_ARCH) || defined(powerpc_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
604hunk ./rts/Linker.c 3627
605-#     if defined(sparc_HOST_ARCH)
606+#     if defined(sparc_TARGET_ARCH)
607hunk ./rts/Linker.c 3630
608-#     elif defined(powerpc_HOST_ARCH)
609+#     elif defined(powerpc_TARGET_ARCH)
610hunk ./rts/Linker.c 3684
611-#        if defined(sparc_HOST_ARCH)
612+#        if defined(sparc_TARGET_ARCH)
613hunk ./rts/Linker.c 3730
614-#        elif defined(powerpc_HOST_ARCH)
615+#        elif defined(powerpc_TARGET_ARCH)
616hunk ./rts/Linker.c 3773
617-#if x86_64_HOST_ARCH
618+#if x86_64_TARGET_ARCH
619hunk ./rts/Linker.c 3897
620-#if defined(powerpc_HOST_ARCH)
621+#if defined(powerpc_TARGET_ARCH)
622hunk ./rts/Linker.c 3908
623-#if defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
624+#if defined(powerpc_TARGET_ARCH) || defined(x86_64_TARGET_ARCH)
625hunk ./rts/Linker.c 3960
626-#if x86_64_HOST_ARCH || powerpc64_HOST_ARCH
627+#if x86_64_TARGET_ARCH || powerpc64_TARGET_ARCH
628hunk ./rts/Linker.c 3967
629-#ifdef powerpc_HOST_ARCH
630+#ifdef powerpc_TARGET_ARCH
631hunk ./rts/Linker.c 4013
632-#ifdef x86_64_HOST_ARCH
633+#ifdef x86_64_TARGET_ARCH
634hunk ./rts/Linker.c 4041
635-#if x86_64_HOST_ARCH || powerpc64_HOST_ARCH
636+#if x86_64_TARGET_ARCH || powerpc64_TARGET_ARCH
637hunk ./rts/Linker.c 4069
638-#if i386_HOST_ARCH
639+#if i386_TARGET_ARCH
640hunk ./rts/Linker.c 4098
641-#if i386_HOST_ARCH
642+#if i386_TARGET_ARCH
643hunk ./rts/Linker.c 4161
644-#ifdef x86_64_HOST_ARCH
645+#ifdef x86_64_TARGET_ARCH
646hunk ./rts/Linker.c 4301
647-#ifdef powerpc_HOST_ARCH
648+#ifdef powerpc_TARGET_ARCH
649hunk ./rts/Linker.c 4324
650-#ifdef powerpc_HOST_ARCH
651+#ifdef powerpc_TARGET_ARCH
652hunk ./rts/Linker.c 4374
653-#ifdef powerpc_HOST_ARCH
654+#ifdef powerpc_TARGET_ARCH
655hunk ./rts/Linker.c 4385
656-#ifdef powerpc_HOST_ARCH
657+#ifdef powerpc_TARGET_ARCH
658hunk ./rts/Linker.c 4431
659-#ifdef powerpc_HOST_ARCH
660+#ifdef powerpc_TARGET_ARCH
661hunk ./rts/Linker.c 4445
662-#ifdef powerpc_HOST_ARCH
663+#ifdef powerpc_TARGET_ARCH
664hunk ./rts/Linker.c 4498
665-#ifdef powerpc_HOST_ARCH
666+#ifdef powerpc_TARGET_ARCH
667hunk ./rts/Linker.c 4527
668-#ifdef powerpc_HOST_ARCH
669+#ifdef powerpc_TARGET_ARCH
670hunk ./rts/Linker.c 4783
671-#if defined (powerpc_HOST_ARCH)
672+#if defined (powerpc_TARGET_ARCH)
673hunk ./rts/Linker.c 4790
674-#ifdef powerpc_HOST_ARCH
675+#ifdef powerpc_TARGET_ARCH
676hunk ./rts/Linker.c 4838
677-#if x86_64_HOST_ARCH || powerpc64_HOST_ARCH
678+#if x86_64_TARGET_ARCH || powerpc64_TARGET_ARCH
679hunk ./rts/LinkerInternals.h 46
680-#ifdef powerpc_HOST_ARCH
681+#ifdef powerpc_TARGET_ARCH
682hunk ./rts/LinkerInternals.h 53
683-#elif x86_64_HOST_ARCH
684+#elif x86_64_TARGET_ARCH
685hunk ./rts/LinkerInternals.h 78
686-#ifdef darwin_HOST_OS
687+#ifdef darwin_TARGET_OS
688hunk ./rts/LinkerInternals.h 96
689-#ifdef ia64_HOST_ARCH
690+#ifdef ia64_TARGET_ARCH
691hunk ./rts/LinkerInternals.h 102
692-#if powerpc_HOST_ARCH || x86_64_HOST_ARCH
693+#if powerpc_TARGET_ARCH || x86_64_TARGET_ARCH
694hunk ./rts/PosixSource.h 14
695-#if defined(freebsd_HOST_OS)
696+#if defined(freebsd_TARGET_OS)
697hunk ./rts/PosixSource.h 30
698-#if defined(darwin_HOST_OS)
699+#if defined(darwin_TARGET_OS)
700hunk ./rts/PrimOps.cmm 38
701-#if !defined(mingw32_HOST_OS)
702+#if !defined(mingw32_TARGET_OS)
703hunk ./rts/PrimOps.cmm 1731
704-#ifdef mingw32_HOST_OS
705+#ifdef mingw32_TARGET_OS
706hunk ./rts/PrimOps.cmm 1746
707-#ifdef mingw32_HOST_OS
708+#ifdef mingw32_TARGET_OS
709hunk ./rts/PrimOps.cmm 1801
710-#ifdef mingw32_HOST_OS
711+#ifdef mingw32_TARGET_OS
712hunk ./rts/ProfHeap.c 322
713-#ifdef mingw32_HOST_OS
714+#ifdef mingw32_TARGET_OS
715hunk ./rts/Profiling.c 273
716-#ifdef mingw32_HOST_OS
717+#ifdef mingw32_TARGET_OS
718hunk ./rts/RaiseAsync.c 22
719-#if defined(mingw32_HOST_OS)
720+#if defined(mingw32_TARGET_OS)
721hunk ./rts/RaiseAsync.c 404
722-#if defined(mingw32_HOST_OS)
723+#if defined(mingw32_TARGET_OS)
724hunk ./rts/RaiseAsync.c 630
725-#if defined(mingw32_HOST_OS)
726+#if defined(mingw32_TARGET_OS)
727hunk ./rts/RaiseAsync.c 634
728-#if defined(mingw32_HOST_OS)
729+#if defined(mingw32_TARGET_OS)
730hunk ./rts/RaiseAsync.h 55
731-#if defined(mingw32_HOST_OS)
732+#if defined(mingw32_TARGET_OS)
733hunk ./rts/RetainerProfile.c 369
734-#if defined(__PIC__) && defined(mingw32_HOST_OS)
735+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
736hunk ./rts/RetainerProfile.c 1232
737-#if defined(__PIC__) && defined(mingw32_HOST_OS)
738+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
739hunk ./rts/RtsDllMain.c 19
740-#if defined(__PIC__) && defined(mingw32_HOST_OS)
741+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
742hunk ./rts/RtsDllMain.c 43
743-#endif /* defined(__PIC__) && defined(mingw32_HOST_OS) */
744+#endif /* defined(__PIC__) && defined(mingw32_TARGET_OS) */
745hunk ./rts/RtsDllMain.h 9
746-#if defined(__PIC__) && defined(mingw32_HOST_OS)
747+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
748hunk ./rts/RtsFlags.c 90
749-#if osf3_HOST_OS
750+#if osf3_TARGET_OS
751hunk ./rts/RtsFlags.c 329
752-#if defined(x86_64_HOST_ARCH)
753+#if defined(x86_64_TARGET_ARCH)
754hunk ./rts/RtsFlags.c 1106
755-#if defined(x86_64_HOST_ARCH)
756+#if defined(x86_64_TARGET_ARCH)
757hunk ./rts/RtsFlags.c 1351
758-#if !defined(mingw32_HOST_OS)
759+#if !defined(mingw32_TARGET_OS)
760hunk ./rts/RtsMain.c 19
761-#if defined(mingw32_HOST_OS)
762+#if defined(mingw32_TARGET_OS)
763hunk ./rts/RtsMain.c 112
764-#if defined(mingw32_HOST_OS)
765+#if defined(mingw32_TARGET_OS)
766hunk ./rts/RtsMain.c 116
767-#if defined(mingw32_HOST_OS)
768+#if defined(mingw32_TARGET_OS)
769hunk ./rts/RtsMessages.c 111
770-#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
771+#if defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
772hunk ./rts/RtsMessages.c 136
773-#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
774+#if defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
775hunk ./rts/RtsMessages.c 177
776-#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
777+#if defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
778hunk ./rts/RtsMessages.c 209
779-#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
780+#if defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
781hunk ./rts/RtsMessages.c 248
782-#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
783+#if defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
784hunk ./rts/RtsMessages.c 259
785-#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
786+#if defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
787hunk ./rts/RtsMessages.c 267
788-#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS)
789+#if defined(cygwin32_TARGET_OS) || defined (mingw32_TARGET_OS)
790hunk ./rts/RtsSignals.h 12
791-#if !defined(mingw32_HOST_OS)
792+#if !defined(mingw32_TARGET_OS)
793hunk ./rts/RtsSignals.h 16
794-#elif defined(mingw32_HOST_OS)
795+#elif defined(mingw32_TARGET_OS)
796hunk ./rts/RtsStartup.c 48
797-#if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
798+#if defined(mingw32_TARGET_OS) && !defined(THREADED_RTS)
799hunk ./rts/RtsStartup.c 52
800-#if !defined(mingw32_HOST_OS)
801+#if !defined(mingw32_TARGET_OS)
802hunk ./rts/RtsStartup.c 187
803-#ifndef mingw32_HOST_OS
804+#ifndef mingw32_TARGET_OS
805hunk ./rts/RtsStartup.c 195
806-#if !defined(mingw32_HOST_OS)   
807+#if !defined(mingw32_TARGET_OS)   
808hunk ./rts/RtsStartup.c 219
809-#if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
810+#if defined(mingw32_TARGET_OS) && !defined(THREADED_RTS)
811hunk ./rts/RtsStartup.c 378
812-#if !defined(mingw32_HOST_OS)   
813+#if !defined(mingw32_TARGET_OS)   
814hunk ./rts/RtsStartup.c 405
815-#if !defined(mingw32_HOST_OS)   
816+#if !defined(mingw32_TARGET_OS)   
817hunk ./rts/RtsStartup.c 446
818-#if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
819+#if defined(mingw32_TARGET_OS) && !defined(THREADED_RTS)
820hunk ./rts/RtsStartup.c 492
821-#ifndef mingw32_HOST_OS
822+#ifndef mingw32_TARGET_OS
823hunk ./rts/RtsUtils.c 45
824-#if defined(THREADED_RTS) && defined(openbsd_HOST_OS) && defined(HAVE_PTHREAD_H)
825+#if defined(THREADED_RTS) && defined(openbsd_TARGET_OS) && defined(HAVE_PTHREAD_H)
826hunk ./rts/RtsUtils.c 421
827-#if defined(THREADED_RTS) && (defined(openbsd_HOST_OS) || defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS))
828+#if defined(THREADED_RTS) && (defined(openbsd_TARGET_OS) || defined(freebsd_TARGET_OS) || defined(dragonfly_TARGET_OS))
829hunk ./rts/Schedule.c 34
830-#if defined(mingw32_HOST_OS)
831+#if defined(mingw32_TARGET_OS)
832hunk ./rts/Schedule.c 110
833-#if !defined(mingw32_HOST_OS)
834+#if !defined(mingw32_TARGET_OS)
835hunk ./rts/Schedule.c 335
836-#if !defined(THREADED_RTS) && !defined(mingw32_HOST_OS)
837+#if !defined(THREADED_RTS) && !defined(mingw32_TARGET_OS)
838hunk ./rts/Schedule.c 419
839-#if mingw32_HOST_OS
840+#if mingw32_TARGET_OS
841hunk ./rts/Schedule.c 483
842-#if mingw32_HOST_OS
843+#if mingw32_TARGET_OS
844hunk ./rts/Schedule.c 1731
845-#if mingw32_HOST_OS
846+#if mingw32_TARGET_OS
847hunk ./rts/Schedule.c 1736
848-#if mingw32_HOST_OS
849+#if mingw32_TARGET_OS
850hunk ./rts/Schedule.c 1775
851-#if mingw32_HOST_OS
852+#if mingw32_TARGET_OS
853hunk ./rts/Schedule.c 1789
854-#if mingw32_HOST_OS
855+#if mingw32_TARGET_OS
856hunk ./rts/Schedule.c 1794
857-#if mingw32_HOST_OS
858+#if mingw32_TARGET_OS
859hunk ./rts/Schedule.c 1832
860-#if mingw32_HOST_OS
861+#if mingw32_TARGET_OS
862hunk ./rts/StgCRun.c 53
863-#ifdef alpha_HOST_ARCH
864+#ifdef alpha_TARGET_ARCH
865hunk ./rts/StgCRun.c 123
866-#ifdef i386_HOST_ARCH
867+#ifdef i386_TARGET_ARCH
868hunk ./rts/StgCRun.c 125
869-#ifdef darwin_HOST_OS
870+#ifdef darwin_TARGET_OS
871hunk ./rts/StgCRun.c 203
872-#ifdef x86_64_HOST_ARCH
873+#ifdef x86_64_TARGET_ARCH
874hunk ./rts/StgCRun.c 324
875-#ifdef sparc_HOST_ARCH
876+#ifdef sparc_TARGET_ARCH
877hunk ./rts/StgCRun.c 395
878-#ifdef alpha_HOST_ARCH
879+#ifdef alpha_TARGET_ARCH
880hunk ./rts/StgCRun.c 491
881-#endif /* alpha_HOST_ARCH */
882+#endif /* alpha_TARGET_ARCH */
883hunk ./rts/StgCRun.c 497
884-#ifdef hppa1_1_HOST_ARCH
885+#ifdef hppa1_1_TARGET_ARCH
886hunk ./rts/StgCRun.c 584
887-#endif /* hppa1_1_HOST_ARCH */
888+#endif /* hppa1_1_TARGET_ARCH */
889hunk ./rts/StgCRun.c 593
890-#ifdef powerpc_HOST_ARCH
891+#ifdef powerpc_TARGET_ARCH
892hunk ./rts/StgCRun.c 597
893-#ifdef darwin_HOST_OS
894+#ifdef darwin_TARGET_OS
895hunk ./rts/StgCRun.c 711
896-#ifdef powerpc64_HOST_ARCH
897+#ifdef powerpc64_TARGET_ARCH
898hunk ./rts/StgCRun.c 713
899-#ifdef linux_HOST_OS
900+#ifdef linux_TARGET_OS
901hunk ./rts/StgCRun.c 835
902-#else // linux_HOST_OS
903+#else // linux_TARGET_OS
904hunk ./rts/StgCRun.c 858
905-#ifdef ia64_HOST_ARCH
906+#ifdef ia64_TARGET_ARCH
907hunk ./rts/StgCRun.c 935
908-#ifdef mips_HOST_ARCH
909+#ifdef mips_TARGET_ARCH
910hunk ./rts/StgCRun.c 962
911-#endif /* mips_HOST_ARCH */
912+#endif /* mips_TARGET_ARCH */
913hunk ./rts/StgMiscClosures.cmm 549
914-#if defined(__PIC__) && defined(mingw32_HOST_OS)
915+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
916hunk ./rts/StgMiscClosures.cmm 576
917-#if !(defined(__PIC__) && defined(mingw32_HOST_OS))
918+#if !(defined(__PIC__) && defined(mingw32_TARGET_OS))
919hunk ./rts/StgMiscClosures.cmm 874
920-#endif // !(defined(__PIC__) && defined(mingw32_HOST_OS))
921+#endif // !(defined(__PIC__) && defined(mingw32_TARGET_OS))
922hunk ./rts/Task.h 236
923-#if defined(linux_HOST_OS) && \
924-    (defined(i386_HOST_ARCH) || defined(x86_64_HOST_ARCH))
925+#if defined(linux_TARGET_OS) && \
926+    (defined(i386_TARGET_ARCH) || defined(x86_64_TARGET_ARCH))
927hunk ./rts/Threads.c 467
928-#if defined(mingw32_HOST_OS)
929+#if defined(mingw32_TARGET_OS)
930hunk ./rts/dyn-wrapper.c 24
931-#if defined(mingw32_HOST_OS)
932+#if defined(mingw32_TARGET_OS)
933hunk ./rts/dyn-wrapper.c 51
934-#elif defined(linux_HOST_OS)
935+#elif defined(linux_TARGET_OS)
936hunk ./rts/dyn-wrapper.c 63
937-#elif defined(darwin_HOST_OS)
938+#elif defined(darwin_TARGET_OS)
939hunk ./rts/ghc.mk 32
940-ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
941+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
942hunk ./rts/ghc.mk 91
943-ifeq  "$(HOSTPLATFORM)" "i386-unknown-mingw32"
944+ifeq  "$(TARGETPLATFORM)" "i386-unknown-mingw32"
945hunk ./rts/ghc.mk 165
946-ifeq "$$(HOSTPLATFORM)" "i386-unknown-mingw32"
947+ifeq "$$(TARGETPLATFORM)" "i386-unknown-mingw32"
948hunk ./rts/ghc.mk 175
949-ifeq "$$(darwin_HOST_OS)" "1"
950+ifeq "$$(darwin_TARGET_OS)" "1"
951hunk ./rts/package.conf.in 36
952-#ifdef mingw32_HOST_OS
953+#ifdef mingw32_TARGET_OS
954hunk ./rts/package.conf.in 145
955-#ifdef darwin_HOST_OS
956+#ifdef darwin_TARGET_OS
957hunk ./rts/package.conf.in 149
958-#ifdef darwin_HOST_OS
959+#ifdef darwin_TARGET_OS
960hunk ./rts/parallel/ParTicky.c 68
961-# if !defined(HAVE_GETRUSAGE) || irix_HOST_OS || defined(_WIN32)
962+# if !defined(HAVE_GETRUSAGE) || irix_TARGET_OS || defined(_WIN32)
963hunk ./rts/posix/GetTime.c 39
964-#if ! ((defined(HAVE_GETRUSAGE) && !irix_HOST_OS) || defined(HAVE_TIMES))
965+#if ! ((defined(HAVE_GETRUSAGE) && !irix_TARGET_OS) || defined(HAVE_TIMES))
966hunk ./rts/posix/GetTime.c 43
967-#if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_GETRUSAGE) && !irix_HOST_OS
968+#if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_GETRUSAGE) && !irix_TARGET_OS
969hunk ./rts/posix/GetTime.c 156
970-#if !defined(HAVE_GETRUSAGE) || irix_HOST_OS || haiku_HOST_OS
971+#if !defined(HAVE_GETRUSAGE) || irix_TARGET_OS || haiku_TARGET_OS
972hunk ./rts/posix/OSMem.c 35
973-#if darwin_HOST_OS
974+#if darwin_TARGET_OS
975hunk ./rts/posix/OSMem.c 91
976-#if defined(solaris2_HOST_OS) || defined(irix_HOST_OS)
977+#if defined(solaris2_TARGET_OS) || defined(irix_TARGET_OS)
978hunk ./rts/posix/OSMem.c 97
979-#elif hpux_HOST_OS
980+#elif hpux_TARGET_OS
981hunk ./rts/posix/OSMem.c 100
982-#elif darwin_HOST_OS
983+#elif darwin_TARGET_OS
984hunk ./rts/posix/OSThreads.c 27
985-#if defined(darwin_HOST_OS)
986+#if defined(darwin_TARGET_OS)
987hunk ./rts/posix/OSThreads.c 44
988-#if defined(darwin_HOST_OS)
989+#if defined(darwin_TARGET_OS)
990hunk ./rts/posix/OSThreads.c 211
991-#elif defined(darwin_HOST_OS)
992+#elif defined(darwin_TARGET_OS)
993hunk ./rts/posix/OSThreads.c 242
994-#elif defined(darwin_HOST_OS) && defined(THREAD_AFFINITY_POLICY)
995+#elif defined(darwin_TARGET_OS) && defined(THREAD_AFFINITY_POLICY)
996hunk ./rts/posix/Signals.c 19
997-#ifdef alpha_HOST_ARCH
998-# if defined(linux_HOST_OS)
999+#ifdef alpha_TARGET_ARCH
1000+# if defined(linux_TARGET_OS)
1001hunk ./rts/posix/Signals.c 517
1002-#ifdef alpha_HOST_ARCH
1003+#ifdef alpha_TARGET_ARCH
1004hunk ./rts/sm/Evac.c 561
1005-#if defined(__PIC__) && defined(mingw32_HOST_OS)
1006+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
1007hunk ./rts/sm/Evac.h 29
1008-#if __GNUC__ >= 2 && (defined(x86_64_HOST_ARCH) || defined(i386_HOST_ARCH))
1009+#if __GNUC__ >= 2 && (defined(x86_64_TARGET_ARCH) || defined(i386_TARGET_ARCH))
1010hunk ./rts/sm/GCThread.h 216
1011-#if (defined(i386_HOST_ARCH) && defined(linux_HOST_OS))
1012+#if (defined(i386_TARGET_ARCH) && defined(linux_TARGET_OS))
1013hunk ./rts/sm/GCThread.h 229
1014-#elif defined(sparc_HOST_ARCH)
1015+#elif defined(sparc_TARGET_ARCH)
1016hunk ./rts/sm/GCThread.h 244
1017-#elif defined(REG_Base) && !defined(i386_HOST_ARCH)
1018+#elif defined(REG_Base) && !defined(i386_TARGET_ARCH)
1019hunk ./rts/sm/Scav.c 332
1020-#if defined(__PIC__) && defined(mingw32_HOST_OS)
1021+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
1022hunk ./rts/sm/Storage.c 923
1023-#if defined(linux_HOST_OS)
1024+#if defined(linux_TARGET_OS)
1025hunk ./rts/sm/Storage.c 1027
1026-#endif /* mingw32_HOST_OS */
1027+#endif /* mingw32_TARGET_OS */
1028hunk ./rts/win32/ThrIOManager.c 155
1029-#if defined(mingw32_HOST_OS) && defined(__PIC__)
1030+#if defined(mingw32_TARGET_OS) && defined(__PIC__)
1031}
1032
1033[Fix RTS platforms
1034Ian Lynagh <igloo@earth.li>**20100716125911] {
1035hunk ./includes/ghc.mk 76
1036-       @echo "#define BuildPlatform_TYPE  $(HostPlatform_CPP)" >> $@
1037-       @echo "#define HostPlatform_TYPE   $(TargetPlatform_CPP)" >> $@
1038+       @echo "#define BuildPlatform_TYPE  $(BuildPlatform_CPP)" >> $@
1039+       @echo "#define HostPlatform_TYPE   $(BuildPlatform_CPP)" >> $@
1040+       @echo "#define TargetPlatform_TYPE $(HostPlatform_CPP)" >> $@
1041hunk ./includes/ghc.mk 80
1042-       @echo "#define $(HostPlatform_CPP)_BUILD  1" >> $@
1043-       @echo "#define $(TargetPlatform_CPP)_HOST  1" >> $@
1044+       @echo "#define $(BuildPlatform_CPP)_BUILD  1" >> $@
1045+       @echo "#define $(BuildPlatform_CPP)_HOST  1" >> $@
1046+       @echo "#define $(HostPlatform_CPP)_TARGET  1" >> $@
1047hunk ./includes/ghc.mk 84
1048-       @echo "#define $(HostArch_CPP)_BUILD_ARCH  1" >> $@
1049-       @echo "#define $(TargetArch_CPP)_HOST_ARCH  1" >> $@
1050-       @echo "#define BUILD_ARCH  \"$(HostArch_CPP)\"" >> $@
1051-       @echo "#define HOST_ARCH  \"$(TargetArch_CPP)\"" >> $@
1052+       @echo "#define $(BuildArch_CPP)_BUILD_ARCH  1" >> $@
1053+       @echo "#define $(BuildArch_CPP)_HOST_ARCH  1" >> $@
1054+       @echo "#define $(HostArch_CPP)_TARGET_ARCH  1" >> $@
1055+       @echo "#define BUILD_ARCH  \"$(BuildArch_CPP)\"" >> $@
1056+       @echo "#define HOST_ARCH  \"$(BuildArch_CPP)\"" >> $@
1057+       @echo "#define TARGET_ARCH  \"$(HostArch_CPP)\"" >> $@
1058hunk ./includes/ghc.mk 91
1059-       @echo "#define $(HostOS_CPP)_BUILD_OS  1" >> $@
1060-       @echo "#define $(TargetOS_CPP)_HOST_OS  1" >> $@
1061-       @echo "#define BUILD_OS  \"$(HostOS_CPP)\"" >> $@
1062-       @echo "#define HOST_OS  \"$(TargetOS_CPP)\"" >> $@
1063+       @echo "#define $(BuildOS_CPP)_BUILD_OS  1" >> $@
1064+       @echo "#define $(BuildOS_CPP)_HOST_OS  1" >> $@
1065+       @echo "#define $(HostOS_CPP)_TARGET_OS  1" >> $@ 
1066+       @echo "#define BUILD_OS  \"$(BuildOS_CPP)\"" >> $@
1067+       @echo "#define HOST_OS  \"$(BuildOS_CPP)\"" >> $@
1068+       @echo "#define TARGET_OS  \"$(HostOS_CPP)\"" >> $@
1069hunk ./includes/ghc.mk 103
1070-       @echo "#define $(HostVendor_CPP)_BUILD_VENDOR  1" >> $@
1071-       @echo "#define $(TargetVendor_CPP)_HOST_VENDOR  1" >> $@
1072-       @echo "#define BUILD_VENDOR  \"$(HostVendor_CPP)\"" >> $@
1073-       @echo "#define HOST_VENDOR  \"$(TargetVendor_CPP)\"" >> $@
1074-       @echo >> $@
1075-       @echo "/* These TARGET macros are for backwards compatibily... DO NOT USE! */" >> $@
1076-       @echo "#define TargetPlatform_TYPE $(TargetPlatform_CPP)" >> $@
1077-       @echo "#define $(TargetPlatform_CPP)_TARGET  1" >> $@
1078-       @echo "#define $(TargetArch_CPP)_TARGET_ARCH  1" >> $@
1079-       @echo "#define TARGET_ARCH  \"$(TargetArch_CPP)\"" >> $@
1080-       @echo "#define $(TargetOS_CPP)_TARGET_OS  1" >> $@ 
1081-       @echo "#define TARGET_OS  \"$(TargetOS_CPP)\"" >> $@
1082-       @echo "#define $(TargetVendor_CPP)_TARGET_VENDOR  1" >> $@
1083+       @echo "#define $(BuildVendor_CPP)_BUILD_VENDOR  1" >> $@
1084+       @echo "#define $(BuildVendor_CPP)_HOST_VENDOR  1" >> $@
1085+       @echo "#define $(HostVendor_CPP)_TARGET_VENDOR  1" >> $@
1086+       @echo "#define BUILD_VENDOR  \"$(BuildVendor_CPP)\"" >> $@
1087+       @echo "#define HOST_VENDOR  \"$(BuildVendor_CPP)\"" >> $@
1088+       @echo "#define TARGET_VENDOR  \"$(HostVendor_CPP)\"" >> $@
1089}
1090
1091[XXX Don't build DPH for now
1092Ian Lynagh <igloo@earth.li>**20100717141322
1093 It uses TH, which causes 32bit mmap problems on OS X 64
1094] {
1095hunk ./ghc.mk 347
1096-ifneq "$(BootingFromHc)" "YES"
1097-PACKAGES_STAGE2 += \
1098-       dph/dph-base \
1099-       dph/dph-prim-interface \
1100-       dph/dph-prim-seq \
1101-       dph/dph-prim-par \
1102-       dph/dph-seq \
1103-       dph/dph-par
1104-endif
1105+#ifneq "$(BootingFromHc)" "YES"
1106+#PACKAGES_STAGE2 += \
1107+#      dph/dph-base \
1108+#      dph/dph-prim-interface \
1109+#      dph/dph-prim-seq \
1110+#      dph/dph-prim-par \
1111+#      dph/dph-seq \
1112+#      dph/dph-par
1113+#endif
1114hunk ./ghc.mk 545
1115-ifneq "$(BootingFromHc)" "YES"
1116-BUILD_DIRS += \
1117-   libraries/dph
1118-endif
1119+#ifneq "$(BootingFromHc)" "YES"
1120+#BUILD_DIRS += \
1121+#   libraries/dph
1122+#endif
1123}
1124
1125[XXX More linker mmap workarounds
1126Ian Lynagh <igloo@earth.li>**20100717143002] {
1127hunk ./bindisttest/Makefile 46
1128-       $(BIN_DIST_INST_DIR)/bin/runghc HelloWorld > output
1129-       $(CONTEXT_DIFF) output expected_output
1130+       -$(BIN_DIST_INST_DIR)/bin/runghc HelloWorld > output
1131+       -$(CONTEXT_DIFF) output expected_output
1132hunk ./bindisttest/ghc.mk 40
1133-       $(BIN_DIST_INST_DIR)/bin/runghc bindisttest/HelloWorld > bindisttest/output
1134-       $(CONTEXT_DIFF) bindisttest/output bindisttest/expected_output
1135+       -$(BIN_DIST_INST_DIR)/bin/runghc bindisttest/HelloWorld > bindisttest/output
1136+       -$(CONTEXT_DIFF) bindisttest/output bindisttest/expected_output
1137}
1138
1139Context:
1140
1141[Use different CC/LD options for different stages
1142Ian Lynagh <igloo@earth.li>**20100723223059]
1143[Add some error belchs to the linker, when we find bad magic numbers
1144Ian Lynagh <igloo@earth.li>**20100723200822]
1145[Add some more linker debugging prints
1146Ian Lynagh <igloo@earth.li>**20100723180237]
1147[When (un)loading an object fails, say which object in teh panic
1148Ian Lynagh <igloo@earth.li>**20100723162649]
1149[Add a release note: GHCi import syntax
1150Ian Lynagh <igloo@earth.li>**20100721193647]
1151[Deprecate NewQualifiedOperators extension (rejected by H')
1152Ian Lynagh <igloo@earth.li>**20100719150909
1153 Ignore-this: 6e7e3bedc5360c5975f73497b3e6cba5
1154]
1155[LLVM: Code and speed improvement to dominateAllocs pass.
1156David Terei <davidterei@gmail.com>**20100721143654
1157 Ignore-this: 9fb7058c8a2afc005521298c7b8d0036
1158]
1159[Comments only
1160simonpj@microsoft.com**20100721144257
1161 Ignore-this: b3091ddcd1df271eb85fe90978ab7adc
1162]
1163[Fix inlining for default methods
1164simonpj@microsoft.com**20100721144248
1165 Ignore-this: 61a11a8f741f775000c6318aae4b3191
1166 
1167 This was discombobulated by a patch a week ago;
1168 now fixed, quite straightforwardly.  See
1169 Note [Default methods and instances]
1170]
1171[Allow reification of existentials and GADTs
1172simonpj@microsoft.com**20100721090437
1173 Ignore-this: 20f1ccd336cc25aff4d4d67a9ac2211a
1174 
1175 It turns out that TH.Syntax is rich enough to express even GADTs,
1176 provided we express them in equality-predicate form.  So for
1177 example
1178 
1179   data T a where
1180      MkT1 :: a -> T [a]
1181      MkT2 :: T Int
1182 
1183 will appear in TH syntax like this
1184 
1185   data T a = forall b. (a ~ [b]) => MkT1 b
1186            | (a ~ Int) => MkT2
1187 
1188 While I was at it I also improved the reification of types,
1189 so that we use TH.TupleT and TH.ListT when we can.
1190]
1191[add numSparks# primop (#4167)
1192Simon Marlow <marlowsd@gmail.com>**20100720153746
1193 Ignore-this: f3f925e7de28f3f895213aefbdbe0b0f
1194]
1195[LLVM: Decrease max opt level used under OSX to avoid bug
1196David Terei <davidterei@gmail.com>**20100720160938
1197 Ignore-this: 34b0b3550f00b27b00ad92f8232745e5
1198 
1199 Currently, many programs compiled with GHC at -O2 and LLVM
1200 set to -O3 will segfault (only under OSX). Until this issue
1201 is fixed I have simply 'solved' the segfault by lowering
1202 the max opt level for LLVM used to -O2 under OSX.
1203 
1204 All these recent changes to OSX should mean its finally as
1205 stable as Linux and Windows.
1206]
1207[LLVM: Fix OSX to work again with TNTC disabled.
1208David Terei <davidterei@gmail.com>**20100720160845
1209 Ignore-this: 8dc98139cfa536b2a64aa364d040b581
1210]
1211[LLVM: Fix printing of local vars so LLVM works with -fnew-codegen
1212David Terei <davidterei@gmail.com>**20100720160302
1213 Ignore-this: d883c433dfaed67921a8c5360e1f9f6a
1214]
1215[Use a separate mutex to protect all_tasks, avoiding a lock-order-reversal
1216Simon Marlow <marlowsd@gmail.com>**20100716150832
1217 Ignore-this: ffbdb4ee502e0f724d57acb9bfbe9d92
1218 In GHC 6.12.x I found a rare deadlock caused by this
1219 lock-order-reversal:
1220 
1221 AQ cap->lock
1222   startWorkerTask
1223     newTask
1224       AQ sched_mutex
1225 
1226 scheduleCheckBlackHoles
1227   AQ sched_mutex
1228    unblockOne_
1229     wakeupThreadOnCapabilty
1230       AQ cap->lock
1231 
1232 so sched_mutex and cap->lock are taken in a different order in two
1233 places.
1234 
1235 This doesn't happen in the HEAD because we don't have
1236 scheduleCheckBlackHoles, but I thought it would be prudent to make
1237 this less likely to happen in the future by using a different mutex in
1238 newTask.  We can clearly see that the all_tasks mutex cannot be
1239 involved in a deadlock, becasue we never call anything else while
1240 holding it.
1241]
1242['make fast' in a package does not build any compilers
1243Simon Marlow <marlowsd@gmail.com>**20100715125904
1244 Ignore-this: f27e70faf3944831dad16e89a4e273da
1245]
1246[LLVM: Fix up botched last commit
1247David Terei <davidterei@gmail.com>**20100719104823
1248 Ignore-this: a32e0f6a38cb9e02527eb8ca69b3eb59
1249]
1250[LLVM: Fix warning introduce in last commit.
1251David Terei <davidterei@gmail.com>**20100719103411
1252 Ignore-this: e9c92a9402aff50d60ab26e6ad441bfc
1253]
1254[LLVM: Use mangler to fix up stack alignment issues on OSX
1255David Terei <davidterei@gmail.com>**20100718231000
1256 Ignore-this: 9f6e8cb855269cb3a5ac1a23480d0e71
1257]
1258[Fix #4195 (isGadtSyntaxTyCon returns opposite result)
1259illissius@gmail.com**20100715134134
1260 Ignore-this: a90403f893030432b5c15d743647f350
1261]
1262[Update to time 1.2.0.3
1263Ian Lynagh <igloo@earth.li>**20100717181810
1264 Ignore-this: 1ccb4801a73f399e6718ce556543ede1
1265]
1266[Reorder RTS --info output
1267Ian Lynagh <igloo@earth.li>**20100717162356]
1268[Fix unreg prof build: Define CCS_SYSTEM in stg/MiscClosures.h
1269Ian Lynagh <igloo@earth.li>**20100717142832
1270 Ignore-this: 9675f3f51b6dac40483155344e7f45b6
1271]
1272[Make mkDerivedConstants as a stage 1 program
1273Ian Lynagh <igloo@earth.li>**20100717000827
1274 Ignore-this: 5357403461b209b8606f1d33defb51cf
1275 This way it gets the defines for the right platform when cross-compiling
1276]
1277[Don't generate Haskell dependencies if we don't have any Haskell sources
1278Ian Lynagh <igloo@earth.li>**20100717000800
1279 Ignore-this: 454abd0358f535b7e789327125c9206c
1280]
1281[Link programs that have no Haskell objects with gcc rather than ghc
1282Ian Lynagh <igloo@earth.li>**20100716235303
1283 Ignore-this: f65588b69675edea616cc434e769b0a4
1284]
1285[Use gcc to build C programs for stages >= 1
1286Ian Lynagh <igloo@earth.li>**20100716223703
1287 Ignore-this: 9f843a4e17285cda582117504707f9e7
1288]
1289[Add platform info to "ghc --info" output
1290Ian Lynagh <igloo@earth.li>**20100716141953]
1291[Tidy up Config.hs generation
1292Ian Lynagh <igloo@earth.li>**20100716140630]
1293[Fix HC porting test in makefiles
1294Ian Lynagh <igloo@earth.li>**20100716010808
1295 Ignore-this: 6052c1dd022a6108ab2236a299ee1d84
1296 Now that we are trying to support cross compilation, we can't use
1297     "$(TARGETPLATFORM)" != "$(HOSTPLATFORM)"
1298 as a test for HC-porting.
1299]
1300[Change a BUILD var to a HOST var
1301Ian Lynagh <igloo@earth.li>**20100716002558]
1302[Remove an unnecessary #include
1303Ian Lynagh <igloo@earth.li>**20100715233930
1304 Ignore-this: dcede249de6be7e3c9305c9279c2ca07
1305]
1306[Split up some make commands, so that errors aren't overlooked
1307Ian Lynagh <igloo@earth.li>**20100715152237
1308 Ignore-this: fb69b0a25d9ca71dae5e75d38db675cd
1309 When we ask make to run "a | b", if a fails then the pipeline might
1310 still exit successfuly.
1311]
1312[Remove an unnecessary #include
1313Ian Lynagh <igloo@earth.li>**20100715143000
1314 Ignore-this: 4e098cac5dda2dd595ca0a0f5121853c
1315]
1316[Simplify some more CPP __GLASGOW_HASKELL__ tests
1317Ian Lynagh <igloo@earth.li>**20100715142500]
1318[Remove some code only used with GHC 6.11.*
1319Ian Lynagh <igloo@earth.li>**20100715141720]
1320[__GLASGOW_HASKELL__ >= 609 is now always true
1321Ian Lynagh <igloo@earth.li>**20100715141544]
1322[Correct the values in ghc_boot_platform.h
1323Ian Lynagh <igloo@earth.li>**20100714223717
1324 Ignore-this: 4c99116f7ac73fadbd6d16807f57a693
1325]
1326[Change some TARGET checks to HOST checks
1327Ian Lynagh <igloo@earth.li>**20100714184715]
1328[LLVM: Add inline assembly to binding.
1329David Terei <davidterei@gmail.com>**20100714152530
1330 Ignore-this: 72a7b5460c128ed511e8901e5889fe2b
1331]
1332[LLVM: Fix mistype in last commit which broke TNTC under win/linux.
1333David Terei <davidterei@gmail.com>**20100714153339
1334 Ignore-this: 302d7957e3dded80368ebade5312ab35
1335]
1336[Remove unnecessary #include
1337Ian Lynagh <igloo@earth.li>**20100713153704
1338 Ignore-this: c37d3127b1dc68f59270c07173994c28
1339]
1340[Change some TARGET tests to HOST tests in the RTS
1341Ian Lynagh <igloo@earth.li>**20100713141034
1342 Which was being used seemed to be random
1343]
1344[LLVM: Add in new LLVM mangler for implementing TNTC on OSX
1345David Terei <davidterei@gmail.com>**20100713183243
1346 Ignore-this: 394fb74d7f9657d8b454bd0148d24bf7
1347]
1348[Refactor where an error message is generated
1349simonpj@microsoft.com**20100713115733
1350 Ignore-this: f94467856238586fcbbe48537141cf78
1351]
1352[Comments only
1353simonpj@microsoft.com**20100713115703
1354 Ignore-this: 5815442c4e69b9ec331b34242a596253
1355]
1356[Comments on data type families
1357simonpj@microsoft.com**20100713115640
1358 Ignore-this: 90a333bb7f7d64a49fb7dd180d893f6b
1359]
1360[Fix Trac #T4136: take care with nullary symbol constructors
1361simonpj@microsoft.com**20100707135945
1362 Ignore-this: 2a717a24fefcd593ea41c23dad351db0
1363 
1364 When a nullary constructor is a symbol eg (:=:) we need
1365 to take care.  Annoying.
1366]
1367[Fix Trac #4127 (and hence #4173)
1368simonpj@microsoft.com**20100707123125
1369 Ignore-this: 98bb6d0f7182b59f8c93596c61f9785d
1370 
1371 The change involves a little refactoring, so that the default
1372 method Ids are brought into scope earlier, before the value
1373 declarations are compiled.  (Since a value decl may contain
1374 an instance decl in a quote.)
1375 
1376 See Note [Default method Ids and Template Haskell] in
1377 TcTyClsDcls.
1378]
1379[Fix second bug in Trac #4127
1380simonpj@microsoft.com**20100701140124
1381 Ignore-this: c8d1cc27364fe9ee5a52acb1ecb5cdd9
1382 
1383 This bug concerned the awkward shadowing we do for
1384 Template Haskell declaration brackets.  Lots of
1385 comments in
1386 
1387   Note [Top-level Names in Template Haskell decl quotes]
1388]
1389[ia64: switch handling of 'foreign import wrapper' (FIW) to libffi
1390Sergei Trofimovich <slyfox@community.haskell.org>**20100709213922
1391 Ignore-this: fd07687e0089aebabf62de85d2be693
1392 
1393 I tried to build darcs-2.4.4 with ghc-6.12.3 and got coredumps when darcs is used
1394 in interactive mode. I tried test from ticket #3516 and found out FIW code is broken.
1395 Instead of fixing it I just switched to libffi. Result built successfully, passed
1396 'foreign import wrapper' test from ticket #3516 and builds working darcs.
1397]
1398[* storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid)
1399Sergei Trofimovich <slyfox@community.haskell.org>**20100709115917
1400 Ignore-this: 9f1958a19992091ddc2761c389ade940
1401 
1402 Patch does not touch amd64 as it's address lengts is 48 bits at most, so amd64 is unaffected.
1403 
1404 the issue: during ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I
1405 got the failure on stage2 phase:
1406     "inplace/bin/ghc-stage2"   -H32m -O -H64m -O0 -w ...
1407     ghc-stage2: internal error: evacuate: strange closure type 15
1408         (GHC version 6.12.3 for ia64_unknown_linux)
1409         Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
1410     make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted
1411 
1412 gdb backtrace (break on 'barf'):
1413 Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39.
1414 (gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info
1415 Starting program: /var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/lib/ghc-stage2 -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info
1416 [Thread debugging using libthread_db enabled]
1417 
1418 Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
1419 39        va_start(ap,s);
1420 (gdb) bt
1421 #0  barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
1422 #1  0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756
1423 #2  0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348
1424 ...
1425 
1426 > 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q)
1427 >                      is returning true for a FUN_STATIC closure
1428 > 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
1429 > 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
1430 > 17:19:12 < slyfox> $1 = 0
1431 > 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken
1432 > 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33
1433 >                      bits and different high 4 bits, and it looks like such pointers get put into the same bucket in
1434 >                      mblock_cache.
1435 ...
1436 > 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps
1437 > 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h
1438 And it helped!
1439]
1440[Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld)
1441Sergei Trofimovich <slyfox@community.haskell.org>**20100708180943
1442 Ignore-this: ced99785e1f870ee97e5bec658e2504f
1443 
1444     /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \
1445                                   dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ...
1446     /usr/bin/ld: unrecognized option '-Wl,--relax'
1447 
1448 If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible.
1449 
1450 Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option.
1451 Removing ia64 specific path.
1452]
1453[LLVM: Allow getelementptr to use LlvmVar for indexes.
1454David Terei <davidterei@gmail.com>**20100712152529
1455 Ignore-this: 9e158d9b89a86bca8abf11d082328278
1456]
1457[Move all the warning workarounds to one place
1458Ian Lynagh <igloo@earth.li>**20100710161723]
1459[xhtml is now warning-free
1460Ian Lynagh <igloo@earth.li>**20100710144635]
1461[Move a bit of build system code
1462Ian Lynagh <igloo@earth.li>**20100709224534]
1463[adapt to the new async exceptions API
1464Simon Marlow <marlowsd@gmail.com>**20100709125238
1465 Ignore-this: 55d845e40b9daed3575c1479d8dda1d5
1466]
1467[quiet some new spewage
1468Simon Marlow <marlowsd@gmail.com>**20100709091521
1469 Ignore-this: de7f91976bbc9789e6fd7091f05c25c0
1470]
1471[New asynchronous exception control API (ghc parts)
1472Simon Marlow <marlowsd@gmail.com>**20100708144851
1473 Ignore-this: 56320c5fc61ae3602d586609387aae22
1474 
1475 As discussed on the libraries/haskell-cafe mailing lists
1476   http://www.haskell.org/pipermail/libraries/2010-April/013420.html
1477 
1478 This is a replacement for block/unblock in the asychronous exceptions
1479 API to fix a problem whereby a function could unblock asynchronous
1480 exceptions even if called within a blocked context.
1481 
1482 The new terminology is "mask" rather than "block" (to avoid confusion
1483 due to overloaded meanings of the latter).
1484 
1485 In GHC, we changed the names of some primops:
1486 
1487   blockAsyncExceptions#   -> maskAsyncExceptions#
1488   unblockAsyncExceptions# -> unmaskAsyncExceptions#
1489   asyncExceptionsBlocked# -> getMaskingState#
1490 
1491 and added one new primop:
1492 
1493   maskUninterruptible#
1494 
1495 See the accompanying patch to libraries/base for the API changes.
1496]
1497[remove outdated comment
1498Simon Marlow <marlowsd@gmail.com>**20100708100840
1499 Ignore-this: afb2e9f6fe1f1acda51b0cbdf2637176
1500]
1501[remove 'mode: xml' emacs settings (#2208)
1502Simon Marlow <marlowsd@gmail.com>**20100708100817
1503 Ignore-this: 3a8d997fb90e01ca88dc47fb95feeba0
1504]
1505[typo in comment
1506Simon Marlow <marlowsd@gmail.com>**20100616111359
1507 Ignore-this: d3ef9288d6d6b9ab3bacbe09e0d9801c
1508]
1509[Win32 getProcessElapsedTime: use a higher-resolution time source
1510Simon Marlow <marlowsd@gmail.com>**20100708093223
1511 Ignore-this: 821989d4ff7ff2bff40cee71a881521c
1512 QueryPerformanceCounter() on Windows gives much better resolution than
1513 GetSystemTimeAsFileTime().
1514]
1515[alpha: switch handling of 'foreign import wrapper' (FIW) to libffi
1516Sergei Trofimovich <slyfox@community.haskell.org>**20100708065318
1517 Ignore-this: ddee15876737a6aa7f6dabc8ff79ce0d
1518 
1519 I tried to build ghc-6.12.3 and found out FIW part of code
1520 does not compile anymore. It uses absent functions under #ifdef.
1521 Instead of fixing it I just switched to libffi. Result built successfully
1522 and passed 'foreign import wrapper' test I wrote for trac ticket #3516.
1523 
1524 I didn't try to build -HEAD yet, but this patch only removes code, so
1525 it should not make -HEAD worse.
1526]
1527[Reorder the CPP flags so -optP can override the platform defines
1528Ian Lynagh <igloo@earth.li>**20100708203523]
1529[Add docs for DatatypeContexts extension
1530Ian Lynagh <igloo@earth.li>**20100707230907
1531 Ignore-this: 8158f03b35a2d7442a75fe85d6f1b1c7
1532]
1533[Make datatype contexts an extension (on by default) (DatatypeContexts)
1534Ian Lynagh <igloo@earth.li>**20100707212529
1535 Ignore-this: 6885ff510a0060610eeeba65122caef5
1536]
1537[LLVM: Fix various typos in comments
1538David Terei <davidterei@gmail.com>**20100707220448
1539 Ignore-this: 1ba3e722f150492da2f9d485c5795e80
1540]
1541[Handle haddock headers when looking for LANGUAGE/OPTIONS_GHC pragmas
1542Ian Lynagh <igloo@earth.li>**20100707120423
1543 Ignore-this: a75aa67690284a6cee3e62c943d4fd01
1544]
1545[Make pragState call mkPState, rather than duplicating everything
1546Ian Lynagh <igloo@earth.li>**20100706173007
1547 Ignore-this: 61fe24b99dbe7a42efff1a9dd703a75c
1548 This also means that extsBitmap gets set, whereas is was just being set
1549 to 0 before.
1550]
1551[LLVM: Add alias type defenitions to LlvmModule.
1552David Terei <davidterei@gmail.com>**20100707142053
1553 Ignore-this: eee6ad5385563ccf08e664d2634a03f2
1554]
1555[LLVM: Use packed structure type instead of structure type
1556David Terei <davidterei@gmail.com>**20100707120320
1557 Ignore-this: a06e0359d182291b81cae56993ca385e
1558 
1559 The regular structure type adds padding to conform to the platform ABI,
1560 which causes problems with structures storing doubles under windows since
1561 we don't conform to the platform ABI there. So we use packed structures
1562 instead now that don't do any padding.
1563]
1564[Make mkPState and pragState take their arguments in the same order
1565Ian Lynagh <igloo@earth.li>**20100706172611]
1566[Remove an out-of-date comment
1567Ian Lynagh <igloo@earth.li>**20100706172217
1568 Ignore-this: 710ebd7d2dc01c1b0f1e58a5b6f85701
1569]
1570[LLVM: Stop llvm saving stg caller-save regs across C calls
1571David Terei <davidterei@gmail.com>**20100705162629
1572 Ignore-this: 28b4877b31b9358e682e38fc54b88658
1573 
1574 This is already handled by the Cmm code generator so LLVM is simply
1575 duplicating work. LLVM also doesn't know which ones are actually live
1576 so saves them all which causes a fair performance overhead for C calls
1577 on x64. We stop llvm saving them across the call by storing undef to
1578 them just before the call.
1579]
1580[LLVM: Add in literal undefined value to binding
1581David Terei <davidterei@gmail.com>**20100705161544
1582 Ignore-this: 95d8361b11584aaeec44c30e76916470
1583]
1584[LLVM: Add a literal NULL value to binding
1585David Terei <davidterei@gmail.com>**20100705161308
1586 Ignore-this: 9507b4b12c1157498704a9d1e5860f12
1587 
1588 Patch from Erik de Castro Lopo <erikd@mega-nerd.com>.
1589]
1590[refactor import declaration support (#2362)
1591Simon Marlow <marlowsd@gmail.com>**20100705104557
1592 Ignore-this: ee034ac377078a7e92bfada1907c86a0
1593]
1594[Disable dynamic linking optimisations on OS X
1595Simon Marlow <marlowsd@gmail.com>**20100705103014
1596 Ignore-this: b04420d3705c51112797758d17b2e40c
1597 To improve performance of the RTS when dynamically linked on x86, I
1598 previously disabled -fPIC for certain critical modules (the GC, and a
1599 few others).  However, build reports suggest that the dynamic linker
1600 on OS X doesn't like this, so I'm disabling this optimsation on that
1601 platform.
1602]
1603[trac #2362 (full import syntax in ghci)
1604amsay@amsay.net**20100625032632
1605 Ignore-this: a9d0859d84956beb74e27b797431bf9c
1606 'import' syntax is seperate from ':module' syntax
1607]
1608[Simplify ghc-pkg's Cabal dependencies
1609Ian Lynagh <igloo@earth.li>**20100704184155
1610 We no longer support building with a compiler that doesn't come with
1611 base 4.
1612]
1613[Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156
1614Ian Lynagh <igloo@earth.li>**20100704132612]
1615[Remove dead code (standalone deriving flag no longer used in parser)
1616Ian Lynagh <igloo@earth.li>**20100701162058]
1617[LLVM: Use the inbounds keyword for getelementptr instructions.
1618David Terei <davidterei@gmail.com>**20100702160511
1619 Ignore-this: 3708e658a4c82b78b1402393f4405541
1620]
1621[threadPaused: fix pointer arithmetic
1622Simon Marlow <marlowsd@gmail.com>**20100701085046
1623 Ignore-this: b78210e5d978f18ffd235f1c78a55a23
1624 Noticed by Henrique Ferreiro <hferreiro@udc.es>, thanks!
1625]
1626[LLVM: Change more operations to use getelementptr
1627David Terei <davidterei@gmail.com>**20100701161856
1628 Ignore-this: fb24eb124e203f50680c6fec3ff9fe7d
1629]
1630[Add the haskell2010 package
1631Simon Marlow <marlowsd@gmail.com>**20100630125532
1632 Ignore-this: e9b011313f283a8ff2fcda7d029a01f
1633]
1634[LLVM: Use getelementptr instruction for a lot of situations
1635David Terei <davidterei@gmail.com>**20100630181157
1636 Ignore-this: 34d314dd8dffad9bdcffdc525261a49d
1637 
1638 LLVM supports creating pointers in two ways, firstly through
1639 pointer arithmetic (by casting between pointers and ints)
1640 and secondly using the getelementptr instruction. The second way
1641 is preferable as it gives LLVM more information to work with.
1642 
1643 This patch changes a lot of pointer related code from the first
1644 method to the getelementptr method.
1645]
1646[remove out of date comments; point to the wiki
1647Simon Marlow <marlowsd@gmail.com>**20100625100313
1648 Ignore-this: 95f363a373534b9471b1818102ec592d
1649]
1650[NCG: allocatableRegs is only giving us 8 SSE regs to allocate to
1651benl@ouroborus.net**20100629054321
1652 Ignore-this: b3e0fa0b4ce988a0258dc12261989ee0
1653]
1654[LLVM: Use intrinsic functions for pow, sqrt, sin, cos
1655David Terei <davidterei@gmail.com>**20100628182949
1656 Ignore-this: 98a0befaca3fe2b36d710d8ff9f062c4
1657 
1658 Instead of calling the C library for these Cmm functions
1659 we use intrinsic functions provided by llvm. LLVM will
1660 then either create a compile time constant if possible, or
1661 use a cpu instruction or as a last resort call the C
1662 library.
1663]
1664[LLVM: Fix test '2047' under linux-x64
1665David Terei <davidterei@gmail.com>**20100628165256
1666 Ignore-this: 41735d4f431a430db636621650ccd71e
1667]
1668[LLVM: Fix test 'ffi005' under linux-x64
1669David Terei <davidterei@gmail.com>**20100628155355
1670 Ignore-this: 841f3142c63cc898ac4c3f89698a837e
1671]
1672[LLVM: Update to use new fp ops introduced in 2.7
1673David Terei <davidterei@gmail.com>**20100628144037
1674 Ignore-this: 5dd2e5964e3c039d297ed586841e706b
1675]
1676[Add noalias and nocapture attributes to pointer stg registers
1677David Terei <davidterei@gmail.com>**20100628115120
1678 Ignore-this: 492a1e723cb3a62498d240d7de92dd7
1679 
1680 At the moment this gives a very slight performance boost of around 1 - 2%.
1681 Future changes to the generated code though so that pointers are kept as
1682 pointers more often instead of being cast to integer types straight away
1683 should hopefully improve the benefit this brings.
1684 
1685]
1686[during shutdown, only free the heap if we waited for foreign calls to exit
1687Simon Marlow <marlowsd@gmail.com>**20100628090536
1688 Ignore-this: d545384a4f641d701455d08ef1217479
1689]
1690[Fix typo in -ddump-pass's document.
1691shelarcy <shelarcy@gmail.com>**20100620070759
1692 Ignore-this: f4f1ddb53f147949e948147d89190c37
1693]
1694[Add #undefs for posix source symbols when including papi.h
1695dmp@rice.edu**20100624163514
1696 Ignore-this: 8a1cba21b880d12a75a75f7e96882053
1697 
1698 Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi  = YES
1699 in validate.mk).  The problem is that the posix symbols are defined by a header
1700 included from papi.h. Compilation then fails because these symbols are
1701 redefined in PosixSource.h.
1702 
1703 This patch adds an undefine for the posix symbols after including papi.h and
1704 before including PosixSource.h. The #undefines are localized to Papi.c since
1705 that is the only case where they are getting defined twice.
1706]
1707[Use machdepCCOpts in runPhase_MoveBinary; fixes trac #3952
1708Ian Lynagh <igloo@earth.li>**20100625220953]
1709[LLVM: Fix bug with calling tail with empty list
1710David Terei <davidterei@gmail.com>**20100625115729
1711 Ignore-this: 46b4b32c8d92372a2d49794a96fe1613
1712]
1713[Fix warnings
1714benl@ouroborus.net**20100624091339
1715 Ignore-this: 5ba4bbd6abb9c9d1fb8c5d21ab73f218
1716]
1717[NCG: Comments and formatting only
1718benl@ouroborus.net**20100624083121
1719 Ignore-this: 86002e72c30d06bcc876d8c49f4caa5a
1720]
1721[NCG: Do the actual reversing of SCCs
1722benl@ouroborus.net**20100624082717
1723 Ignore-this: 12d2027ea118e751fbb48b27126150ef
1724]
1725[NCG: Fix dumping of graphs in regalloc stats for graph allocator
1726benl@ouroborus.net**20100624082625
1727 Ignore-this: 2b971bc9e0318099a9afb0e0db135730
1728]
1729[NCG: Reverse SCCs after each round in the graph allocator
1730benl@ouroborus.net**20100624082437
1731 Ignore-this: f0152e4039d6f16f7b5a99b286538116
1732]
1733[NCG: Don't actually complain on unreachable code blocks
1734benl@ouroborus.net**20100624081445
1735 Ignore-this: e7335ae6120917cb858c38c7c6da8e24
1736]
1737[NCG: Do explicit check for precondition of computeLiveness
1738benl@ouroborus.net**20100624080747
1739 Ignore-this: e7053c4e5e4c3c746b5ebf016913424a
1740 
1741  computeLiveness requires the SCCs of blocks to be in reverse dependent
1742  order, and if they're not it was silently giving bad liveness info,
1743  yielding a bad allocation.
1744 
1745  Now it complains, loudly.
1746]
1747[NCG: Fix off-by-one error in realRegSqueeze
1748benl@ouroborus.net**20100623095813
1749 Ignore-this: ab0698686d4c250da8e207f734f8252d
1750]
1751[NCG: Handle stripping of liveness info from procs with no blocks (like stg_split_marker)
1752benl@ouroborus.net**20100623091209
1753 Ignore-this: c0319b6cc62ec713afe4eb03790406e3
1754]
1755[NCG: Emit a warning on unreachable code block instead of panicing
1756benl@ouroborus.net**20100623085002
1757 Ignore-this: d20314b79e3c31e764ed4cd97290c696
1758]
1759[NCG: Remember to keep the entry block first when erasing liveness info
1760Ben.Lippmeier@anu.edu.au**20090917104429
1761 Ignore-this: 1b0c1df19d622858d50ffb6a01f2cef0
1762]
1763[NCG: Refactor representation of code with liveness info
1764Ben.Lippmeier@anu.edu.au**20090917090730
1765 Ignore-this: 2aebb3b02ebd92e547c5abad9feb0f0d
1766 
1767  * I've pushed the SPILL and RELOAD instrs down into the
1768    LiveInstr type to make them easier to work with.
1769 
1770  * When the graph allocator does a spill cycle it now just
1771    re-annotates the LiveCmmTops instead of converting them
1772    to NatCmmTops and back.
1773 
1774  * This saves working out the SCCS again, and avoids rewriting
1775    the SPILL and RELOAD meta instructions into real machine
1776    instructions.
1777]
1778[NCG: Add sanity checking to linear allocator
1779Ben.Lippmeier@anu.edu.au**20090917090335
1780 Ignore-this: 5a442be8b5087d04bc8b58dffa9ea080
1781 If there are are unreachable basic blocks in the native code then the
1782 linear allocator might loop. Detect this case and panic instead.
1783]
1784[NCG: Refactor LiveCmmTop to hold a list of SCCs instead of abusing ListGraph
1785Ben.Lippmeier@anu.edu.au**20090917060332
1786 Ignore-this: 3fec8d69ed0f760e53a202f873d5d9cb
1787]
1788[NCG: Allow the liveness map in a LiveInfo to be Nothing
1789Ben.Lippmeier@anu.edu.au**20090917043937
1790 Ignore-this: 5f82422d54d1b0ffc0589eb7e82fb7a4
1791]
1792[NCG: Also show the result of applying coalesings with -ddump-asm-regalloc-stages
1793Ben.Lippmeier.anu.edu.au**20090917034427
1794 Ignore-this: 76bd6d5ca43adb2167cb25832cbaa80b
1795]
1796[Fix panic when running "ghc -H"; trac #3364
1797Ian Lynagh <igloo@earth.li>**20100624234011
1798 The problem is that showing SDoc's looks at the static flags global
1799 variables, but those are panics while we are parsing the static flags.
1800 We work around this by explicitly using a fixed prettyprinter style.
1801]
1802[Allow for stg registers to have pointer type in llvm BE.
1803David Terei <davidterei@gmail.com>**20100621175839
1804 Ignore-this: fc09b1a8314aef0bde945c77af1124fb
1805 
1806 Before all the stg registers were simply a bit type or
1807 floating point type but now they can be declared to have
1808 a pointer type to one of these. This will allow various
1809 optimisations in the future in llvm since the type is
1810 more accurate.
1811]
1812[Add support for parameter attributes to the llvm BE binding
1813David Terei <davidterei@gmail.com>**20100624111744
1814 Ignore-this: 77f3c0c7bf8f81c4a154dc835ae7bcba
1815 
1816 These allow annotations of the code produced by the backend
1817 which should bring some perforamnce gains. At the moment
1818 the attributes aren't being used though.
1819]
1820[Cast some more nats to StgWord to be on the safe side
1821Simon Marlow <marlowsd@gmail.com>**20100624105700
1822 Ignore-this: e6176683856f9872fdeb2358bb065bb8
1823 And add a comment about the dangers of int overflow
1824]
1825[comments only
1826Simon Marlow <marlowsd@gmail.com>**20100624105105
1827 Ignore-this: fc8f762f4c3a5ffca2f8da2bc63ac2a4
1828]
1829[Fix an arithmetic overflow bug causing crashes with multi-GB heaps
1830Simon Marlow <marlowsd@gmail.com>**20100624104654
1831 Ignore-this: 67210755aa098740ff5230347be0fd5d
1832]
1833[Add support for collecting PAPI native events
1834dmp@rice.edu**20100622195953
1835 Ignore-this: 7269f9c4dfb2912a024eb632200fcd1
1836 
1837 This patch extends the PAPI support in the RTS to allow collection of native
1838 events. PAPI can collect data for native events that are exposed by the
1839 hardware beyond the PAPI present events. The native events supported on your
1840 hardware can found by using the papi_native_avail tool.
1841 
1842 The RTS already allows users to specify PAPI preset events from the command
1843 line. This patch extends that support to allow users to specify native events.
1844 The changes needed are:
1845 
1846 1) New option (#) for the RTS PAPI flag for native events. For example, to
1847    collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr
1848 
1849 2) Update the PAPI_FLAGS struct to store whether the user specified event is a
1850    papi preset or a native event
1851 
1852 3) Update init_countable_events function to add the native events after parsing
1853    the event code and decoding the name using PAPI_event_code_to_name
1854 
1855]
1856[Don't warn about unused bindings with parents in .hs-boot files; trac #3449
1857Ian Lynagh <igloo@earth.li>**20100624110351]
1858[fix the home_imps filter to allow for 'import "this" <module>'
1859Simon Marlow <marlowsd@gmail.com>**20100621125535
1860 Ignore-this: da4e605b0513afc32a4e7caa921a2c76
1861 In the PackageImports extension, import "this" means "import from the
1862 current package".
1863]
1864[Use the standard C wrapper code for the ghc-$version.exe wrapper
1865Ian Lynagh <igloo@earth.li>**20100622202859
1866 Ignore-this: 60cd3e6db3afb63e6ba9e2db3b033580
1867]
1868[Don't rely on "-packagefoo" working; use "-package foo" instead
1869Ian Lynagh <igloo@earth.li>**20100622202547]
1870[Remove unnecessary C #includes
1871Ian Lynagh <igloo@earth.li>**20100622172919]
1872[Make the ghci.exe wrapper call the right ghc.exe
1873Ian Lynagh <igloo@earth.li>**20100622172247]
1874[More updates to datalayout description in llvm BE
1875David Terei <davidterei@gmail.com>**20100622165339
1876 Ignore-this: b0c604fe7673b0aa7c7064694d574437
1877]
1878[Remove LlvmAs phase as the llvm opt tool now handles this phase
1879David Terei <davidterei@gmail.com>**20100622144044
1880 Ignore-this: b9fd8f959702b6af014e2fa654bede3
1881 
1882 This phase originally invoked the llvm-as tool that turns a textual
1883 llvm assembly file into a bit code file for the rest of llvm to deal
1884 with. Now the llvm opt tool can do this itself, so we don't need to
1885 use llvm-as anymore.
1886]
1887[Update datalayout info in llvm BE
1888David Terei <davidterei@gmail.com>**20100622123457
1889 Ignore-this: 89b043d211225dcd819f30549afe1840
1890]
1891[Fix handling of float literals in llvm BE
1892David Terei <davidterei@gmail.com>**20100622121642
1893 Ignore-this: a3b5f382ad4b5a426ad4b581664506fa
1894]
1895[Declare some top level globals to be constant when appropriate
1896David Terei <davidterei@gmail.com>**20100621174954
1897 Ignore-this: 44832f65550d4f995d11c01cc1affef5
1898 
1899 This involved removing the old constant handling mechanism
1900 which was fairly hard to use. Now being constant or not is
1901 simply a property of a global variable instead of a separate
1902 type.
1903]
1904[Reduce the number of passes over the cmm in llvm BE
1905David Terei <davidterei@gmail.com>**20100621125220
1906 Ignore-this: cb2f4e54e8d0f982d5087fbeee35c73c
1907]
1908[Fix negate op not working for -0 in llvm backend
1909David Terei <davidterei@gmail.com>**20100621123606
1910 Ignore-this: c5d76e5cffa781fed074137851b1347f
1911]
1912[ROLLBACK: picCCOpts: -dynamic should not entail -optc-fPIC
1913Simon Marlow <marlowsd@gmail.com>**20100621100409
1914 Ignore-this: f2fac7df33d3919199befc59bd455414
1915 and add a comment to explain why it was wrong.  This fixes the dyn
1916 test failures that sprang up recently.
1917]
1918[Check files are really created in libffi
1919Ian Lynagh <igloo@earth.li>**20100620163724
1920 when we think that the libffi build creates them, so they just depend
1921 on the libffi build stamp.
1922]
1923[Improve the missing-import-list warning
1924Ian Lynagh <igloo@earth.li>**20100620124320
1925 Ignore-this: 551e5fdf2dfb56b49d249e0cebaa6115
1926]
1927[Tweak missing-import-list warning
1928Ian Lynagh <igloo@earth.li>**20100620122622
1929 Ignore-this: 360cdf59ae13d66ded181129325506c4
1930]
1931[trac #1789 (warnings for missing import lists)
1932amsay@amsay.net**20100618150649
1933 Ignore-this: b0b0b1e048fbca0817c1e6fade1153fa
1934]
1935[Refix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
1936Ian Lynagh <igloo@earth.li>**20100620103749]
1937[Remove some old commented out code
1938Ian Lynagh <igloo@earth.li>**20100620000459]
1939[SET_ARR_HDR's last argument is now a number of bytes, rather than words
1940Ian Lynagh <igloo@earth.li>**20100619235214
1941 This avoids unnecessary work and potential loss of information
1942]
1943[Replace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS
1944Ian Lynagh <igloo@earth.li>**20100619234310]
1945[FIX #38000 Store StgArrWords payload size in bytes
1946Antoine Latter <aslatter@gmail.com>**20100101183346
1947 Ignore-this: 7bf3ab4fc080c46311fc10b179361bb6
1948]
1949[Add win32 datalayout support to llvm backend
1950David Terei <davidterei@gmail.com>**20100618131733
1951 Ignore-this: 4b7bffaa8ef38c628ab852c1a6c1c009
1952]
1953[Remove unused 'ddump-opt-llvm' flag
1954David Terei <davidterei@gmail.com>**20100618101237
1955 Ignore-this: f78467496d986897e49d82646ee2907e
1956]
1957[generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC
1958Simon Marlow <marlowsd@gmail.com>**20100618082258
1959 Ignore-this: a25567ebff9f575303ddc8f2deafebbf
1960]
1961[joinToTargets: fix a case of panic "handleComponent cyclic"
1962Simon Marlow <marlowsd@gmail.com>**20100618082147
1963 Ignore-this: 765baeefbb5a41724004acd92405cecc
1964]
1965[comment typo
1966Simon Marlow <marlowsd@gmail.com>**20100618082102
1967 Ignore-this: e495610b7dd5ec30b02938638b56cb7
1968]
1969[Add support of TNTC to llvm backend
1970David Terei <davidterei@gmail.com>**20100618093205
1971 Ignore-this: 2c27d21668374a5b0d5e844882c69439
1972 
1973 We do this through a gnu as feature called subsections,
1974 where you can put data/code into a numbered subsection
1975 and those subsections will be joined together in descending
1976 order by gas at compile time.
1977]
1978[Don't automatically insert a -fvia-C flag in an unregisterised compiler
1979Ian Lynagh <igloo@earth.li>**20100617190901
1980 Ignore-this: eb25a9a338fade9e17c153da7c5f27e9
1981 The default object mode is already HscC, so it's unnecessary, and
1982 -fvia-C generates a deprecated flag warning now.
1983]
1984[In PosixSource.h, conditionally define things based on platform
1985Ian Lynagh <igloo@earth.li>**20100617174912
1986 This may not be ideal, but it should get GHC building on all platforms
1987 again.
1988]
1989[disable -fPIC for the GC for performance reasons
1990Simon Marlow <marlowsd@gmail.com>**20100617140025
1991 Ignore-this: c7c152bbff71ef7891eaee8ff39fc281
1992 see comment for details
1993]
1994[picCCOpts: -dynamic should not entail -optc-fPIC
1995Simon Marlow <marlowsd@gmail.com>**20100617115259
1996 Ignore-this: d71e42bd56e4bd107d2c431b801855e5
1997]
1998[Make getAllocations() visible
1999Simon Marlow <marlowsd@gmail.com>**20100617113259
2000 Ignore-this: 1b7fb38a01358c0acbe8987df07d23f2
2001]
2002[Fix the symbol visibility pragmas
2003Simon Marlow <marlowsd@gmail.com>**20100617105758
2004 Ignore-this: 76552500865473a1dbebbc1cc2def9f0
2005]
2006[pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package
2007Simon Marlow <marlowsd@gmail.com>**20100616124718
2008 Ignore-this: afb56d5560c813051285607fefb15493
2009]
2010[Fix bindisttest Makefile
2011Ian Lynagh <igloo@earth.li>**20100616205611
2012 Ignore-this: 39cd352152422f378572fc3859c5a377
2013]
2014[Remove some more unused make variables
2015Ian Lynagh <igloo@earth.li>**20100616180519]
2016[Convert some more variable names to FOO_CMD, for consistency
2017Ian Lynagh <igloo@earth.li>**20100616175916]
2018[Rename some variables from FOO to FOO_CMD
2019Ian Lynagh <igloo@earth.li>**20100616161108
2020 This fixes a problem with commands like gzip, where if $GZIP is exported
2021 in the environment, then when make runs a command it'll put the Makefile
2022 variable's value in the environment. But gzip treats $GZIP as arguments
2023 for itself, so when we run gzip it thinks we're giving it "gzip" as an
2024 argument.
2025]
2026[Make the "show" target work anywhere in the build tree
2027Ian Lynagh <igloo@earth.li>**20100616122910
2028 Ignore-this: 299d40cbe16112accd9f14e56fa12158
2029]
2030[Change ghc-pwd's license to a string Cabal recognises
2031Ian Lynagh <igloo@earth.li>**20100615204015
2032 Ignore-this: c935b6ad7f605aab0168997a90b40fc6
2033]
2034[fix warning
2035Simon Marlow <marlowsd@gmail.com>**20100604205933
2036 Ignore-this: 2aaa4ed6a8b9ae1e39adc4696aaf14a3
2037]
2038[--install-signal-handles=no does not affect the timer signal (#1908)
2039Simon Marlow <marlowsd@gmail.com>**20100527214627
2040 Ignore-this: b0c51f1abdb159dc360662485095a11a
2041]
2042[Small optimisation: allocate nursery blocks contiguously
2043Simon Marlow <marlowsd@gmail.com>**20100509194928
2044 Ignore-this: e650e99e9ea9493d2efb245d565beef4
2045 This lets automatic prefetching work better, for a tiny performance boost
2046]
2047[fix -fforce-recomp setting: module is PrimOp, not PrimOps
2048Simon Marlow <marlowsd@gmail.com>**20100507084507
2049 Ignore-this: f76e0d9b643682ec0e8fb7d91afdea68
2050]
2051[it should be an error to use relative directories (#4134)
2052Simon Marlow <marlowsd@gmail.com>**20100615151740
2053 Ignore-this: 2068021701832e018ca41b22877921d5
2054]
2055[missing include-dirs or library-dirs is only a warning now (#4104)
2056Simon Marlow <marlowsd@gmail.com>**20100615151702
2057 Ignore-this: e3114123cef147bbd28ccb64581a1afb
2058]
2059[fix #3822: desugaring case command in arrow notation
2060Ross Paterson <ross@soi.city.ac.uk>**20100615225110
2061 Ignore-this: 477d6c460b4174b94b4cd113fa5b9d19
2062 
2063 Get the set of free variables from the generated case expression:
2064 includes variables in the guards and decls that were missed before,
2065 and is also a bit simpler.
2066]
2067[Deprecate the -fvia-C flag; trac #3232
2068Ian Lynagh <igloo@earth.li>**20100615151836
2069 Ignore-this: c2452b2648bf7e44546465c1b964fce
2070]
2071[Avoid using the new ~~ perl operator in the mangler
2072Ian Lynagh <igloo@earth.li>**20100615151236
2073 Ignore-this: 709a7ba4e514b1596841b3ba7e5c6cc
2074]
2075[stmAddInvariantToCheck: add missing init of invariant->lock (#4057)
2076Simon Marlow <marlowsd@gmail.com>**20100615123643
2077 Ignore-this: 3b132547fa934cecf71a846db2a5f70e
2078]
2079[Add new LLVM code generator to GHC. (Version 2)
2080David Terei <davidterei@gmail.com>**20100615094714
2081 Ignore-this: 4dd2fe5854b64a3f0339d484fd5c238
2082 
2083 This was done as part of an honours thesis at UNSW, the paper describing the
2084 work and results can be found at:
2085 
2086 http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf
2087 
2088 A Homepage for the backend can be found at:
2089 
2090 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM
2091 
2092 Quick summary of performance is that for the 'nofib' benchmark suite, runtimes
2093 are within 5% slower than the NCG and generally better than the C code
2094 generator.  For some code though, such as the DPH projects benchmark, the LLVM
2095 code generator outperforms the NCG and C code generator by about a 25%
2096 reduction in run times.
2097 
2098]
2099[Fix Trac #4127: build GlobalRdrEnv in GHCi correctly
2100simonpj@microsoft.com**20100615070626
2101 Ignore-this: d907e3bfa7882878cea0af172aaf6e84
2102 
2103 GHCi was building its GlobalRdrEnv wrongly, so that the
2104 gre_par field was bogus.  That in turn fooled the renamer.
2105 The fix is easy: use the right function!  Namely, call
2106 RnNames.gresFromAvail rather than availsToNameSet.
2107]
2108[Comments, and improvement to pretty-printing of HsGroup
2109simonpj@microsoft.com**20100615070409
2110 Ignore-this: ec8358f2485370b20226a97ec84e9024
2111]
2112[Don't reverse bindings in rnMethodBinds (fix Trac #4126)
2113simonpj@microsoft.com**20100614163935
2114 Ignore-this: a6ffbb5af6f51b142ed0aeae8ee5e3a9
2115]
2116[Fix Trac #4120: generate a proper coercion when unifying forall types
2117simonpj@microsoft.com**20100614134311
2118 Ignore-this: 601592bb505305f1954cbe730f168da4
2119 
2120 This was just a blatant omission, which hasn't come up before.
2121 Easily fixed, happily.
2122]
2123[Use mkFunTy to ensure that invariants are respected
2124simonpj@microsoft.com**20100614134159
2125 Ignore-this: 67dcada7a4e8d9927581cd77af71b6f
2126]
2127[Remove redundant debug code
2128simonpj@microsoft.com**20100601154151
2129 Ignore-this: e6ff11c04c631cf6aac73788cbcf02b5
2130]
2131[Fix Trac #4099: better error message for type functions
2132simonpj@microsoft.com**20100531140413
2133 Ignore-this: 3f53ca98cf770577818b9c0937482577
2134 
2135 Now we only want about "T is a type function and might not be
2136 injective" when matchin (T x) against (T y), which is the case
2137 that is really confusing.
2138]
2139[Gruesome fix in CorePrep to fix embarassing Trac #4121
2140simonpj@microsoft.com**20100614132726
2141 Ignore-this: fe82d15474afaac3e6133adfd7a7e055
2142 
2143 This is a long-lurking bug that has been flushed into
2144 the open by other arity-related changes.  There's a
2145 long comment
2146 
2147      Note [CafInfo and floating]
2148 
2149 to explain. 
2150 
2151 I really hate the contortions we have to do through to keep correct
2152 CafRef information on top-level binders.  The Right Thing, I believe,
2153 is to compute CAF and arity information later, and merge it into the
2154 interface-file information when the latter is generated.
2155 
2156 But for now, this hackily fixes the problem.
2157]
2158[Fix a bug in CorePrep that meant output invariants not satisfied
2159simonpj@microsoft.com**20100531150013
2160 Ignore-this: d34eb36d8877d3caf1cf2b20de426abd
2161 
2162 In cpePair I did things in the wrong order so that something that
2163 should have been a CprRhs wasn't.  Result: a crash in CoreToStg.
2164 Fix is easy, and I added more informative type signatures too.
2165]
2166[Robustify the treatement of DFunUnfolding
2167simonpj@microsoft.com**20100531145332
2168 Ignore-this: 8f5506ada4d89f6ab8ad1e8c3ffb09ba
2169 
2170 See Note [DFun unfoldings] in CoreSyn.  The issue here is that
2171 you can't tell how many dictionary arguments a DFun needs just
2172 from looking at the Arity of the DFun Id: if the dictionary is
2173 represented by a newtype the arity might include the dictionary
2174 and value arguments of the (single) method.
2175 
2176 So we need to record the number of arguments need by the DFun
2177 in the DFunUnfolding itself.  Details in
2178    Note [DFun unfoldings] in CoreSyn
2179]
2180[Fix spelling in comment
2181simonpj@microsoft.com**20100614132259
2182 Ignore-this: bbf0d55f2e5f10ef9c74592c12f9201c
2183]
2184[Update docs on view patterns
2185simonpj@microsoft.com**20100614074801
2186 Ignore-this: 8617b9078800d4942d71f142a5b6c831
2187]
2188[Fix printing of splices; part of #4124
2189Ian Lynagh <igloo@earth.li>**20100613154838
2190 Just putting parens around non-atomic expressions isn't sufficient
2191 for splices, as only the $x and $(e) forms are valid input.
2192]
2193[In ghci, catch IO exceptions when calling canonicalizePath
2194Ian Lynagh <igloo@earth.li>**20100613134627
2195 We now get an exception if the path doesn't exist
2196]
2197[Whitespace only
2198Ian Lynagh <igloo@earth.li>**20100612213119]
2199[Whitespace only
2200Ian Lynagh <igloo@earth.li>**20100612165450]
2201[Update ghci example output in user guide; patch from YitzGale in #4111
2202Ian Lynagh <igloo@earth.li>**20100612162250]
2203[Fix #4131 missing UNTAG_CLOSURE in messageBlackHole()
2204benl@ouroborus.net**20100611044614]
2205[messageBlackHole: fix deadlock bug caused by a missing 'volatile'
2206Simon Marlow <marlowsd@gmail.com>**20100610080636
2207 Ignore-this: 3cda3054bb45408aa9bd2d794b69c938
2208]
2209[Pass --no-tmp-comp-dir to Haddock (see comment)
2210Simon Marlow <marlowsd@gmail.com>**20100604083214
2211 Ignore-this: bfa4d74038637bd149f4d878b4eb8a87
2212]
2213[Track changes to DPH libs
2214Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607052903
2215 Ignore-this: 4dbc3f8418af3e74b3fc4f9a9dfe7764
2216]
2217[Track changes to DPH libs
2218Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607012642
2219 Ignore-this: 5d4e498171a3c57ab02621bfaea82cff
2220]
2221[In ghc-pkg, send warnings to stderr
2222Ian Lynagh <igloo@earth.li>**20100606161726
2223 Ignore-this: 56927d13b5e1c1ce2752734f0f9b665b
2224]
2225[Re-add newlines to enable layout for multi-line input.
2226Ian Lynagh <igloo@earth.li>**20100602180737
2227 Patch from Adam Vogt <vogt.adam@gmail.com>
2228 Partial fix for #3984
2229]
2230[Don't use unnecessary parens when printing types (Fix Trac 4107)
2231simonpj@microsoft.com**20100604110143
2232 Ignore-this: a833714ab13013c4345b222f4e87db1d
2233 
2234    f :: Eq a => a -> a
2235 rather than
2236    f :: (Eq a) => a -> a
2237]
2238[Track DPH library changes
2239Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005728
2240 Ignore-this: 32bc2fbea6ad975e89545d4c42fd7c30
2241]
2242[fix --source-entity option passed to Haddock: we needed to escape a #
2243Simon Marlow <marlowsd@gmail.com>**20100603125459
2244 Ignore-this: d52ae6188b510c482bcebb23f0e553ae
2245]
2246[__stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)
2247Simon Marlow <marlowsd@gmail.com>**20100602091419
2248 Ignore-this: 293315ac8f86fd366b8d61992ecc7961
2249]
2250[Add xhtml package (a new dependency of Haddock; not installed/shipped)
2251Simon Marlow <marlowsd@gmail.com>**20100602090101
2252 Ignore-this: af0ac8b91abe98f7fdb624ea0a4dee20
2253]
2254[Use UserInterrupt rather than our own Interrupted exception (#4100)
2255Simon Marlow <marlowsd@gmail.com>**20100602082345
2256 Ignore-this: 1909acf2f452593138b9f85024711714
2257]
2258[Add the global package DB to ghc --info (#4103)
2259Simon Marlow <marlowsd@gmail.com>**20100602082233
2260 Ignore-this: fd5c0e207e70eb0f62606c45dc5b8124
2261]
2262[rts/sm/GC.c: resize_generations(): Remove unneeded check of number of generations.
2263Marco Túlio Gontijo e Silva <marcot@debian.org>**20100528115612
2264 Ignore-this: 6f1bea62917c01c7adac636146132c97
2265 
2266 This "if" is inside another "if" which checks for RtsFlags.GcFlags.generations
2267 > 1, so testing this again is redundant, assuming the number of generations
2268 won't change during program execution.
2269]
2270[rts/sm/BlockAlloc.c: Small comment correction.
2271Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205839
2272 Ignore-this: bd2fcd4597cc872d80b0e2eeb1c3998a
2273]
2274[rts/sm/GC.c: Annotate constants.
2275Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205707
2276 Ignore-this: f232edb89383564d759ed890a18f602f
2277]
2278[includes/rts/storage/GC.h: generation_: n_words: Improve comment.
2279Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526204615
2280 Ignore-this: f5d5feefa8f7b552303978f1804fea23
2281]
2282[Add PPC_RELOC_LOCAL_SECTDIFF support; patch from PHO in #3654
2283Ian Lynagh <igloo@earth.li>**20100601204211
2284 Ignore-this: 51293b7041cdce3ce7619ef11cf7ceb
2285]
2286[powerpc-apple-darwin now supports shared libs
2287Ian Lynagh <igloo@earth.li>**20100601173325]
2288[PIC support for PowerPC
2289pho@cielonegro.org**20100508143900
2290 Ignore-this: 3673859a305398c4acae3f4d7c997615
2291 
2292 PPC.CodeGen.getRegister was not properly handling PicBaseReg.
2293 It seems working with this patch, but I'm not sure this change is correct.
2294]
2295[Vectoriser: only treat a function as scalar if it actually computes something
2296Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100601045630
2297 Ignore-this: e5d99a6ddb62052e3520094a5af47552
2298]
2299[Add a release notes file for 6.14.1
2300Ian Lynagh <igloo@earth.li>**20100530171117
2301 Ignore-this: 1941e6d3d1f4051b69ca2f17a1cf84d6
2302]
2303[Check dblatex actually creates the files we tell it to
2304Ian Lynagh <igloo@earth.li>**20100530171043
2305 Ignore-this: ccc72caea2313be05cbac59bb54c0603
2306 If it fails, it still exits successfully.
2307]
2308[Add darwin to the list of OSes for which we use mmap
2309Ian Lynagh <igloo@earth.li>**20100529145016
2310 Ignore-this: a86d12a3334aaaafc86f7af9dbb0a7ae
2311 Patch from Barney Stratford
2312]
2313[Simplify the CPP logic in rts/Linker.c
2314Ian Lynagh <igloo@earth.li>**20100529144929
2315 Ignore-this: 1288f5b752cc1ab8b1c90cfd0ecfdf68
2316]
2317[Fix validate on OS X
2318Ian Lynagh <igloo@earth.li>**20100529154726]
2319[OS X x86_64 fix from Barney Stratford
2320Ian Lynagh <igloo@earth.li>**20100529122440]
2321[OS X 64 installer fixes from Barney Stratford
2322Ian Lynagh <igloo@earth.li>**20100528234935]
2323[fix warning
2324Simon Marlow <marlowsd@gmail.com>**20100525155812
2325 Ignore-this: f34eee3fe3d89579fd8d381c91ced750
2326]
2327[Fix doc bugs (#4071)
2328Simon Marlow <marlowsd@gmail.com>**20100525155728
2329 Ignore-this: aa25be196de567de360075022a1942f7
2330]
2331[Make sparks into weak pointers (#2185)
2332Simon Marlow <marlowsd@gmail.com>**20100525150435
2333 Ignore-this: feea0bb5006007b82c932bc3006124d7
2334 The new strategies library (parallel-2.0+, preferably 2.2+) is now
2335 required for parallel programming, otherwise parallelism will be lost.
2336]
2337[If you say 'make' or 'make stage=2' here, pretend we're in the ghc dir
2338Simon Marlow <marlowsd@gmail.com>**20100525085301
2339 Ignore-this: 78b740337aa460915c812cbbcdae5321
2340]
2341[Another attempt to get these #defines right
2342Simon Marlow <marlowsd@gmail.com>**20100525154313
2343 Ignore-this: 460ca0c47d81cd25eae6542114f67899
2344 Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using
2345 _POSIX_C_SOURCE==200112L.
2346]
2347[Add configure flags for the location of GMP includes/library; fixes #4022
2348Ian Lynagh <igloo@earth.li>**20100525221616
2349 Ignore-this: fc3060caf995d07274ec975eeefbdf3e
2350]
2351[Refactor pretty printing of TyThings to fix Trac #4015
2352simonpj@microsoft.com**20100525153126
2353 Ignore-this: 8f15053b7554f62caa84201d2e4976d2
2354]
2355[When haddocking, we need the dependencies to have been built
2356Ian Lynagh <igloo@earth.li>**20100525145830
2357 as haddock loads the .hi files with the GHC API.
2358]
2359[Fix profiling output; spotted by jlouis
2360Ian Lynagh <igloo@earth.li>**20100525111217
2361 We were outputing the number of words allocated in a column titled "bytes".
2362]
2363[Improve printing of TyThings; fixes Trac #4087
2364simonpj@microsoft.com**20100525114045
2365 Ignore-this: da2a757a533454bba80b9b77cc5a771
2366]
2367[Spelling in comments
2368simonpj@microsoft.com**20100525114001
2369 Ignore-this: 270f3da655e526cf04e27db7a01e29c0
2370]
2371[Refactor (again) the handling of default methods
2372simonpj@microsoft.com**20100525113910
2373 Ignore-this: 6686f6cdb878d57abf6b49fec64fcbb1
2374 
2375 This patch fixes Trac #4056, by
2376 
2377  a) tidying up the treatment of default method names
2378  b) removing the 'module' argument to newTopSrcBinder
2379 
2380 The details aren't that interesting, but the result
2381 is much tidier. The original bug was a 'nameModule' panic,
2382 caused by trying to find the module of a top-level name.
2383 But TH quotes generate Internal top-level names that don't
2384 have a module, and that is generally a good thing. 
2385 
2386 Fixing that in turn led to the default-method refactoring,
2387 which also makes the Name for a default method be handled
2388 in the same way as other derived names, generated in BuildTyCl
2389 via a call newImplicitBinder.  Hurrah.
2390]
2391[Don't do SpecConstr on NOINLINE things (Trac #4064)
2392simonpj@microsoft.com**20100525112807
2393 Ignore-this: 452be0a2cef0042fb67275c2827b5f72
2394 
2395 Since the RULE from specialising gets the same Activation as
2396 the inlining for the Id itself there's no point in specialising
2397 a NOINLINE thing, because the rule will be permanently switched
2398 off.
2399 
2400 See Note [Transfer activation] in SpecConstr
2401 and Note [Auto-specialisation and RULES] in Specialise.
2402]
2403[Change our #defines to work on FreeBSD too
2404Simon Marlow <marlowsd@gmail.com>**20100524105828
2405 Ignore-this: b23ede46211e67859206c0ec57d6a86f
2406 With glibc, things like _POSIX_C_SOURCE and _ISOC99_SOURCE are
2407 additive, but on FreeBSD they are mutually exclusive.  However, it
2408 turns out we only need to define _POSIX_C_SOURCE and _XOPEN_SOURCE to
2409 get all the C99 stuff we need too, so there's no need for any #ifdefs.
2410 
2411 Submitted by: Gabor PALI <pgj@FreeBSD.org>
2412]
2413[Add a missing UNTAG_CLOSURE, causing bus errors on Sparc
2414Simon Marlow <marlowsd@gmail.com>**20100524105547
2415 Ignore-this: a590b5391d6f05d50c8c088456c3c166
2416 We just about got away with this on x86 which isn't
2417 alignment-sensitive.  The result of the memory load is compared
2418 against a few different values, but there is a fallback case that
2419 happened to be the right thing when the pointer was tagged.  A good
2420 bug to find, nonetheless.
2421]
2422[Add wiki links
2423Simon Marlow <marlowsd@gmail.com>**20100520095953
2424 Ignore-this: c22f126cde166e6207922b2eb51d29e3
2425]
2426[the 'stage=0' trick to disable all compiler builds stopped working; fix it
2427Simon Marlow <marlowsd@gmail.com>**20100520104455
2428 Ignore-this: bb6fae9056471612c8dbf06916188c33
2429]
2430[Comments and formatting only
2431benl@ouroborus.net**20100524014021
2432 Ignore-this: 64579c38154728b632e358bec751cc0b
2433]
2434[Core prettyprinter fixes. Patch from Tim Chevalier. Fixes #4085
2435Ian Lynagh <igloo@earth.li>**20100522225048]
2436[Correct install-name for dynamic Darwin rts
2437pho@cielonegro.org**20100508151155
2438 Ignore-this: 6d31716c8c113dcb46e9cb925c4201df
2439]
2440[Fix the RTS debug_p build
2441Ian Lynagh <igloo@earth.li>**20100522163127]
2442[Unset $CFLAGS for "GNU non-executable stack" configure test; fixes #3889
2443Ian Lynagh <igloo@earth.li>**20100521165005
2444 With gcc 4.4 we get
2445     Error: can't resolve `.note.GNU-stack' {.note.GNU-stack section} - `.Ltext0' {.text section}
2446 when running gcc with the -g flag. To work around this we unset
2447 CFLAGS when running the test.
2448]
2449[Don't run "set -o igncr" before configuring libffi
2450Ian Lynagh <igloo@earth.li>**20100520162918
2451 Ignore-this: 489fa94df23f2adf4ff63c8ede2c0794
2452 It used to make the build work on cygwin, but now it breaks it instead:
2453     config.status: creating include/Makefile
2454     gawk: ./confLqjohp/subs.awk:1: BEGIN {\r
2455     gawk: ./confLqjohp/subs.awk:1: ^ backslash not last character on line
2456     config.status: error: could not create include/Makefile
2457     make[2]: *** [libffi/stamp.ffi.configure-shared] Error 1
2458     make[1]: *** [all] Error 2
2459]
2460[Stop passing -Wl,-macosx_version_min to gcc
2461Ian Lynagh <igloo@earth.li>**20100520154003
2462 Fixes a build failure on OS X 10.6. When linking
2463     rts/dist/build/libHSrts-ghc6.13.20100519.dylib
2464 we got
2465     ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o)
2466     collect2: ld returned 1 exit status
2467]
2468[Fix build on FreeBSD; patch from Gabor PALI
2469Ian Lynagh <igloo@earth.li>**20100519140552]
2470[Fix package shadowing order (#4072)
2471Simon Marlow <marlowsd@gmail.com>**20100519104617
2472 Ignore-this: 26ea5e4bb5dff18618b807a54c7d6ebb
2473 
2474 Later packages are supposed to shadow earlier ones in the stack,
2475 unless the ordering is overriden with -package-id flags.
2476 Unfortunately an earlier fix for something else had sorted the list of
2477 packages so that it was in lexicographic order by installedPackageId,
2478 and sadly our test (cabal/shadow) didn't pick this up because the
2479 lexicographic ordering happened to work for the test.  I've now fixed
2480 the test so it tries both orderings.
2481]
2482[Set more env variables when configuring libffi
2483Ian Lynagh <igloo@earth.li>**20100518185014
2484 We now tell it where to find ld, nm and ar
2485]
2486[Set the location of ar to be the in-tree ar on Windows
2487Ian Lynagh <igloo@earth.li>**20100518181556]
2488[Change another / to </> to avoid building paths containing \/
2489Ian Lynagh <igloo@earth.li>**20100518172015
2490 This will hopefully fix #2889.
2491]
2492[Fix #4074 (I hope).
2493Simon Marlow <marlowsd@gmail.com>**20100518113214
2494 Ignore-this: 73cd70f5bc6f5add5247b61985c03fc1
2495 
2496 1. allow multiple threads to call startTimer()/stopTimer() pairs
2497 2. disable the timer around fork() in forkProcess()
2498 
2499 A corresponding change to the process package is required.
2500]
2501[we don't have a gcc-lib in LIB_DIR any more
2502Simon Marlow <marlowsd@gmail.com>**20100401102351
2503 Ignore-this: f41acd2d8f8e6763aa8bd57a0b44a7e4
2504]
2505[In validate, use gmake if available; based on a patch from Gabor PALI
2506Ian Lynagh <igloo@earth.li>**20100517200654]
2507[Remove duplicate "./configure --help" output; fixes #4075
2508Ian Lynagh <igloo@earth.li>**20100516141206]
2509[Update various 'sh boot's to 'perl boot'
2510Ian Lynagh <igloo@earth.li>**20100516122609
2511 Spotted by Marco Túlio Gontijo e Silva
2512]
2513[add missing initialisation for eventBufMutex
2514Simon Marlow <marlowsd@gmail.com>**20100514094943
2515 Ignore-this: 7f75594a8cb54fbec5aebd46bb959f45
2516]
2517[Undo part of #4003 patch
2518Simon Marlow <marlowsd@gmail.com>**20100513142017
2519 Ignore-this: cb65db86a38a7e5ccee9f779e489d104
2520 We still need the workaround for when compiling HEAD with 6.12.2
2521 
2522]
2523[Fix makefile loop (#4050)
2524pho@cielonegro.org**20100507140707
2525 Ignore-this: 3a1cb13d0600977e74d17ac26cbef83d
2526 
2527 The libtool creates "libffi.dylib" and "libffi.5.dylib" but not "libffi.5.0.9.dylib". Having it in libffi_DYNAMIC_LIBS causes an infinite makefile loop.
2528]
2529[fix !TABLES_NEXT_TO_CODE
2530Simon Marlow <marlowsd@gmail.com>**20100510151934
2531 Ignore-this: fccb859b114bef1c3122c98e60af51
2532]
2533[looksLikeModuleName: allow apostrophe in module names (#4051)
2534Simon Marlow <marlowsd@gmail.com>**20100510094741
2535 Ignore-this: df9348f3ba90608bec57257b47672985
2536]
2537[add the proper library dependencies for GhcProfiled=YES
2538Simon Marlow <marlowsd@gmail.com>**20100506122118
2539 Ignore-this: 6236993aa308ab5b5e1e5ea5f65982a
2540]
2541[Fix Trac #4003: fix the knot-tying in checkHiBootIface
2542simonpj@microsoft.com**20100511075026
2543 Ignore-this: a9ce2a318386fdc8782848df84592002
2544 
2545 I had incorrectly "optimised" checkHiBootIface so that it forgot
2546 to update the "knot-tied" type environment.
2547 
2548 This patch fixes the HEAD
2549]
2550[Re-engineer the derived Ord instance generation code (fix Trac #4019)
2551simonpj@microsoft.com**20100510133333
2552 Ignore-this: 8fe46e4dad27fbee211a7928acf372c2
2553   
2554 As well as fixing #4019, I rejigged the way that Ord instances are
2555 generated, which should make them faster in general.  See the
2556 Note [Generating Ord instances].
2557 
2558 I tried to measure the performance difference from this change, but
2559 the #4019 fix only removes one conditional branch per iteration, and
2560 I couldn't measure a consistent improvement.  But still, tihs is
2561 better than before.
2562]
2563[Make arity of INLINE things consistent
2564simonpj@microsoft.com**20100510133005
2565 Ignore-this: 15e7abf803d1dcb3f4ca760d2d939d0d
2566 
2567 We eta-expand things with INLINE pragmas;
2568 see Note [Eta-expanding INLINE things].
2569 
2570 But I eta-expanded it the wrong amount when the function
2571 was overloaded.  Ooops.
2572]
2573[Compacting GC fix, we forgot to thread the new bq field of StgTSO.
2574Simon Marlow <marlowsd@gmail.com>**20100510082325
2575 Ignore-this: a079c8446e2ad53efff6fd95d0f3ac80
2576]
2577[Add version constraints for the boot packages; fixes trac #3852
2578Ian Lynagh <igloo@earth.li>**20100509175051
2579 When using the bootstrapping compiler, we now explicitly constrain
2580 the version of boot packages (Cabal, extensible-exceptions, etc) to the
2581 in-tree version, so that the build system is less fragile should the
2582 user have a newer version installed for the bootstrapping compiler.
2583]
2584[Don't include inter-package dependencies when compiling with stage 0; #4031
2585Ian Lynagh <igloo@earth.li>**20100509130511
2586 This fixes a problem when building with GHC 6.12 on Windows, where
2587 dependencies on stage 0 (bootstrapping compiler) packages have absolute
2588 paths c:/ghc/..., and make gets confused by the colon.
2589]
2590[Add a ghc.mk for bindisttest/
2591Ian Lynagh <igloo@earth.li>**20100508223911]
2592[Move some make variables around so they are available when cleaning
2593Ian Lynagh <igloo@earth.li>**20100508212405]
2594[Optimise checkremove a bit
2595Ian Lynagh <igloo@earth.li>**20100508202006]
2596[Improve the bindisttest Makefile
2597Ian Lynagh <igloo@earth.li>**20100508195450]
2598[Add tools to test that cleaning works properly
2599Ian Lynagh <igloo@earth.li>**20100508194105]
2600[Tweak the ghc-pkg finding code
2601Ian Lynagh <igloo@earth.li>**20100508125815
2602 It now understand the ghc-stage[123] names we use in-tree, and it won't
2603 go looking for any old ghc-pkg if it can't find the one that matches
2604 ghc.
2605]
2606[Add a way to show what cleaning would be done, without actually doing it
2607Ian Lynagh <igloo@earth.li>**20100508122438]
2608[Tidy up the "rm" flags in the build system
2609Ian Lynagh <igloo@earth.li>**20100508115745]
2610[Fix crash in nested callbacks (#4038)
2611Simon Marlow <marlowsd@gmail.com>**20100507093222
2612 Ignore-this: cade85e361534ce711865a4820276388
2613 Broken by "Split part of the Task struct into a separate struct
2614 InCall".
2615]
2616[Add $(GhcDynamic) knob, set to YES to get stage2 linked with -dynamic
2617Simon Marlow <marlowsd@gmail.com>**20100428205241
2618 Ignore-this: 1db8bccf92099785ecac39aebd27c92d
2619 Default currently NO.
2620 
2621 Validate passed with GhcDynamic=YES on x86/Linux here.
2622 
2623 The compiler is currently slower on x86 when linked -dynamic,
2624 because the GC inner loop has been adversely affected by -fPIC, I'm
2625 looking into how to fix it.
2626]
2627[omit "dyn" from the way appended to the __stginit label
2628Simon Marlow <marlowsd@gmail.com>**20100428204914
2629 Ignore-this: 14183f3defa9f2bde68fda6729b740bc
2630 When GHCi is linked dynamically, we still want to be able to load
2631 non-dynamic object files.
2632]
2633[improvements to findPtr(), a neat hack for browsing the heap in gdb
2634Simon Marlow <marlowsd@gmail.com>**20100506115427
2635 Ignore-this: ac57785bb3e13b97a5945f753f068738
2636]
2637[Fix +RTS -G1
2638Simon Marlow <marlowsd@gmail.com>**20100506110739
2639 Ignore-this: 86a5de39a94d3331a4ee1213f82be497
2640]
2641[Enable the "redundant specialise pragmas" warning; fixes trac #3855
2642Ian Lynagh <igloo@earth.li>**20100506175351]
2643[Find the correct external ids when there's a wrapper
2644simonpj@microsoft.com**20100506164135
2645 Ignore-this: 636266407b174b05b2b8646cc73062c0
2646 
2647 We were failing to externalise the wrapper id for a function
2648 that had one.
2649]
2650[Add a comment about pattern coercions
2651simonpj@microsoft.com**20100506164027
2652 Ignore-this: 17428089f3df439f65d892e23e8ed61a
2653]
2654[Comments only
2655simonpj@microsoft.com**20100506163829
2656 Ignore-this: 169167b6463873ab173cc5750c5be469
2657]
2658[Make a missing name in mkUsageInfo into a panic
2659simonpj@microsoft.com**20100506163813
2660 Ignore-this: b82ff1b8bf89f74f146db7cb5cc4c4d7
2661 
2662 We really want to know about this!
2663]
2664[Refactoring of hsXxxBinders
2665simonpj@microsoft.com**20100506163737
2666 Ignore-this: 97c6667625262b160f9746f7bea1c980
2667 
2668 This patch moves various functions that extract the binders
2669 from a HsTyClDecl, HsForeignDecl etc into HsUtils, and gives
2670 them consistent names.
2671]
2672[Fix Trac #3966: warn about useless UNPACK pragmas
2673simonpj@microsoft.com**20100506163337
2674 Ignore-this: 5beb24b686eda6113b614dfac8490df1
2675 
2676 Warning about useless UNPACK pragmas wasn't as easy as I thought.
2677 I did quite a bit of refactoring, which improved the code by refining
2678 the types somewhat.  In particular notice that in DataCon, we have
2679 
2680     dcStrictMarks   :: [HsBang]
2681     dcRepStrictness :: [StrictnessMarks]
2682 
2683 The former relates to the *source-code* annotation, the latter to
2684 GHC's representation choice.
2685]
2686[Make tcg_dus behave more sanely; fixes a mkUsageInfo panic
2687simonpj@microsoft.com**20100506162719
2688 Ignore-this: d000bca15b0e127e297378ded1bfb81b
2689 
2690 The tcg_dus field used to contain *uses* of type and class decls,
2691 but not *defs*.  That was inconsistent, and it really went wrong
2692 for Template Haskell bracket.  What happened was that
2693  foo = [d| data A = A
2694                   f :: A -> A
2695                   f x = x |]
2696 would find a "use" of A when processing the top level of the module,
2697 which in turn led to a mkUsageInfo panic in MkIface.  The cause was
2698 the fact that the tcg_dus for the nested quote didn't have defs for
2699 A.
2700]
2701[Add a HsExplicitFlag to SpliceDecl, to improve Trac #4042
2702simonpj@microsoft.com**20100506161523
2703 Ignore-this: e4e563bac2fd831cc9e94612f5b4fa9d
2704 
2705 The issue here is that
2706 
2707     g :: A -> A
2708     f
2709     data A = A
2710 
2711 is treated as if you'd written $(f); that is the call of
2712 f is a top-level Template Haskell splice.  This patch
2713 makes sure that we *first* check the -XTemplateHaskellFlag
2714 and bleat about a parse error if it's off.  Othewise we
2715 get strange seeing "A is out of scope" errors.
2716]
2717[Change an assert to a warn
2718simonpj@microsoft.com**20100506161111
2719 Ignore-this: 739a4fb4c7940376b0f2c8ad52a1966c
2720 
2721 This is in the constraint simplifier which I'm about
2722 to rewrite, so I'm hoping the assert isn't fatal!
2723]
2724[Tidy up debug print a little
2725simonpj@microsoft.com**20100506161027
2726 Ignore-this: bd5492878e06bee1cddcbb3fc4df66d8
2727]
2728[Remove useless UNPACK pragmas
2729simonpj@microsoft.com**20100506161012
2730 Ignore-this: 3e5ab1a7cf58107034412a798bc214e5
2731]
2732[Add WARNM2 macro, plus some refactoring
2733simonpj@microsoft.com**20100506160808
2734 Ignore-this: 2ab4f1f0b5d94be683036e77aec09255
2735]
2736[Use -Wwarn for the binary package, becuase it has redundant UNPACK pragmas
2737simonpj@microsoft.com**20100506160750
2738 Ignore-this: cf0d3a11473e28bfce9602e716e69a5f
2739]
2740[Fix Trac #3966: warn about unused UNPACK pragmas
2741simonpj@microsoft.com**20100409201812
2742 Ignore-this: c96412596b39c918b5fb9b3c39ce2119
2743]
2744[Fix Trac #3953: fail earlier when using a bogus quasiquoter
2745simonpj@microsoft.com**20100409201748
2746 Ignore-this: ef48e39aa932caed538643985234f043
2747]
2748[Fix Trac #3965: tighten conditions when deriving Data
2749simonpj@microsoft.com**20100409184420
2750 Ignore-this: 96f7d7d2da11565d26b465d7d0497ac9
2751 
2752 It's tricky to set up the context for a Data instance.  I got it wrong
2753 once, and fixed it -- hence the "extra_constraints" in
2754 TcDeriv.inferConstraints. 
2755 
2756 But it still wasn't right!  The tricky bit is that dataCast1 is only
2757 generated when T :: *->*, and dataCast2 when T :: *->*->*. (See
2758 the code in TcGenDeriv for dataCastX.
2759]
2760[Fix Trac #3964: view patterns in DsArrows
2761simonpj@microsoft.com**20100409165557
2762 Ignore-this: d823c182831d5e2e592e995b16180e2f
2763 
2764 Just a missing case; I've eliminated the catch-all so
2765 that we get a warning next time we extend HsPat
2766]
2767[Fix Trac #3955: renamer and type variables
2768simonpj@microsoft.com**20100409163710
2769 Ignore-this: bd5ec64d76c0f583bf5f224792bf294c
2770 
2771 The renamer wasn't computing the free variables of a type declaration
2772 properly.  This patch refactors a bit, and makes it more robust,
2773 fixing #3955 and several other closely-related bugs.  (We were
2774 omitting some free variables and that could just possibly lead to a
2775 usage-version tracking error.
2776]
2777[Layout only
2778simonpj@microsoft.com**20100409163506
2779 Ignore-this: 1f14990b5aa0b9821b84452fb34e9f41
2780]
2781[Give a better deprecated message for INCLUDE pragmas; fixes #3933
2782Ian Lynagh <igloo@earth.li>**20100506130910
2783 We now have a DeprecatedFullText constructor, so we can override the
2784 "-#include is deprecated: " part of the warning.
2785]
2786[De-haddock a comment that confuses haddock
2787Ian Lynagh <igloo@earth.li>**20100506123607]
2788[Fix comment to not confuse haddock
2789Ian Lynagh <igloo@earth.li>**20100506113642]
2790[Detect EOF when trying to parse a string in hp2ps
2791Ian Lynagh <igloo@earth.li>**20100506000830]
2792[Make the demand analyser sdd demands for strict constructors
2793simonpj@microsoft.com**20100505200936
2794 Ignore-this: eb32632adbc354eb7a5cf884c263e0d3
2795 
2796 This opportunity was spotted by Roman, and is documented in
2797 Note [Add demands for strict constructors] in DmdAnal.
2798]
2799[Fix interaction of exprIsCheap and the lone-variable inlining check
2800simonpj@microsoft.com**20100505200723
2801 Ignore-this: f3cb65085c5673a99153d5d7b6559ab1
2802 
2803 See Note [Interaction of exprIsCheap and lone variables] in CoreUnfold
2804 
2805 This buglet meant that a nullary definition with an INLINE pragma
2806 counter-intuitively didn't get inlined at all.  Roman identified
2807 the bug.
2808]
2809[Matching cases in SpecConstr and Rules
2810simonpj@microsoft.com**20100505200543
2811 Ignore-this: f5c28c780fbf8badce84c6fdc9aa1779
2812 
2813 This patch has zero effect.  It includes comments,
2814 a bit of refactoring, and a tiny bit of commment-out
2815 code go implement the "matching cases" idea below.
2816 
2817 In the end I've left it disabled because while I think
2818 it does no harm I don't think it'll do any good either.
2819 But I didn't want to lose the idea totally. There's
2820 a thread called "Storable and constant memory" on
2821 the libraries@haskell.org list (Apr 2010) about it.
2822 
2823 Note [Matching cases]
2824 ~~~~~~~~~~~~~~~~~~~~~
2825 {- NOTE: This idea is currently disabled.  It really only works if
2826          the primops involved are OkForSpeculation, and, since
2827         they have side effects readIntOfAddr and touch are not.
2828         Maybe we'll get back to this later .  -}
2829   
2830 Consider
2831    f (case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
2832       case touch# fp s# of { _ ->
2833       I# n# } } )
2834 This happened in a tight loop generated by stream fusion that
2835 Roman encountered.  We'd like to treat this just like the let
2836 case, because the primops concerned are ok-for-speculation.
2837 That is, we'd like to behave as if it had been
2838    case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
2839    case touch# fp s# of { _ ->
2840    f (I# n# } } )
2841]
2842[Comments only
2843simonpj@microsoft.com**20100504163629
2844 Ignore-this: 3be12df04714aa820bce706b5dc8a9cb
2845]
2846[Comments only
2847simonpj@microsoft.com**20100504163529
2848 Ignore-this: 791e2fd39c7d880ce1dc80ebdf3a5398
2849]
2850[Comments only
2851simonpj@microsoft.com**20100504163457
2852 Ignore-this: f19e9ffeb3d65770b1595bca5f97a59d
2853]
2854[Comments only (about type families)
2855simonpj@microsoft.com**20100417145032
2856 Ignore-this: dd39425ef2155d52dbf55a4d5fd97cb8
2857]
2858[Fix hp2ps when the .hp file has large string literals
2859Ian Lynagh <igloo@earth.li>**20100505191921]
2860[In build system, call package-config after including package data
2861Ian Lynagh <igloo@earth.li>**20100504225035
2862 Otherwise the $1_$2_HC_OPTS variable gets clobbered.
2863]
2864[runghc: flush stdout/stderr on an exception (#3890)
2865Simon Marlow <marlowsd@gmail.com>**20100505133848
2866 Ignore-this: 224c1898cec64cb1c94e0d7033e7590e
2867]
2868[Remove the Unicode alternative for ".." (#3894)
2869Simon Marlow <marlowsd@gmail.com>**20100505121202
2870 Ignore-this: 2452cd67281667106f9169747b6d784f
2871]
2872[tidyup; no functional changes
2873Simon Marlow <marlowsd@gmail.com>**20100505115015
2874 Ignore-this: d0787e5cdeef1dee628682fa0a46019
2875]
2876[Make the running_finalizers flag task-local
2877Simon Marlow <marlowsd@gmail.com>**20100505114947
2878 Ignore-this: 345925d00f1dca203941b3c5d84c90e1
2879 Fixes a bug reported by Lennart Augustsson, whereby we could get an
2880 incorrect error from the RTS about re-entry from a finalizer,
2881]
2882[add a MAYBE_GC() in killThread#, fixes throwto003(threaded2) looping
2883Simon Marlow <marlowsd@gmail.com>**20100505114746
2884 Ignore-this: efea04991d6feed04683a42232fc85da
2885]
2886[Allow filepath-1.2.*
2887Simon Marlow <marlowsd@gmail.com>**20100505101139
2888 Ignore-this: 1b5580cd9cd041ec48f40cd37603326a
2889]
2890[BlockedOnMsgThrowTo is possible in resurrectThreads (#4030)
2891Simon Marlow <marlowsd@gmail.com>**20100505094534
2892 Ignore-this: ac24a22f95ffeaf480187a1620fdddb2
2893]
2894[Don't raise a throwTo when the target is masking and BlockedOnBlackHole
2895Simon Marlow <marlowsd@gmail.com>**20100505094506
2896 Ignore-this: 302616931f61667030d77ddfbb02374e
2897]
2898[Fix build with GHC 6.10
2899Ian Lynagh <igloo@earth.li>**20100504180302
2900 In GHC 6.10, intersectionWith is (a -> b -> a) instead of (a -> b -> c),
2901 so we need to jump through some hoops to get the more general type.
2902]
2903[The libffi patches are no longer needed
2904Ian Lynagh <igloo@earth.li>**20100504171603]
2905[Use the in-tree windres; fixes trac #4032
2906Ian Lynagh <igloo@earth.li>**20100504170941]
2907[Print unfoldings on lambda-bound variables
2908Simon PJ <simonpj@microsoft.com>**20100503181822
2909 Ignore-this: 2fd5a7502cc6273d96258e0914f0f8cd
2910 
2911 ...in the unusual case where they have one;
2912 see Note [Case binders and join points] in Simplify.lhs
2913]
2914[Replace FiniteMap and UniqFM with counterparts from containers.
2915Milan Straka <fox@ucw.cz>**20100503171315
2916 Ignore-this: a021972239163dbf728284b19928cebb
2917 
2918 The original interfaces are kept. There is small performance improvement:
2919 - when compiling for five nofib, we get following speedups:
2920     Average                -----           -2.5%
2921     Average                -----           -0.6%
2922     Average                -----           -0.5%
2923     Average                -----           -5.5%
2924     Average                -----          -10.3%
2925 - when compiling HPC ten times, we get:
2926     switches                          oldmaps   newmaps
2927     -O -fasm                          117.402s  116.081s (98.87%)
2928     -O -fasm -fregs-graph             119.993s  118.735s (98.95%)
2929     -O -fasm -fregs-iterative         120.191s  118.607s (98.68%)
2930]
2931[Make the demand analyser take account of lambda-bound unfoldings
2932Simon PJ <simonpj@microsoft.com>**20100503151630
2933 Ignore-this: 2ee8e27d4df2debfc79e6b8a17c32bc1
2934 
2935 This is a long-standing lurking bug. See Note [Lamba-bound unfoldings]
2936 in DmdAnal.
2937 
2938 I'm still not really happy with this lambda-bound-unfolding stuff.
2939]
2940[Fix dynamic libs on OS X, and enable them by default
2941Ian Lynagh <igloo@earth.li>**20100503150302]
2942[Switch back to using bytestring from the darcs repo; partially fixes #3855
2943Ian Lynagh <igloo@earth.li>**20100502113458]
2944[Fix some cpp warnings when building on FreeBSD; patch from Gabor PALI
2945Ian Lynagh <igloo@earth.li>**20100428150700]
2946[Fix "make 2"
2947Ian Lynagh <igloo@earth.li>**20100427162212
2948 The new Makefile logic was enabling the stage 1 rules when stage=2,
2949 so "make 2" was rebuilding stage 1.
2950]
2951[Inplace programs depend on their shell wrappers
2952Ian Lynagh <igloo@earth.li>**20100427160038]
2953[--make is now the default (#3515), and -fno-code works with --make (#3783)
2954Simon Marlow <marlowsd@gmail.com>**20100427122851
2955 Ignore-this: 33330474fa4703f32bf9997462b4bf3c
2956 If the command line contains any Haskell source files, then we behave
2957 as if --make had been given.
2958 
2959 The meaning of the -c flag has changed (back): -c now selects one-shot
2960 compilation, but stops before linking.  However, to retain backwards
2961 compatibility, -c is still allowed with --make, and means the same as
2962 --make -no-link.  The -no-link flag has been un-deprecated.
2963 
2964 -fno-code is now allowed with --make (#3783); the fact that it was
2965 disabled before was largely accidental, it seems.  We also had some
2966 regressions in this area: it seems that -fno-code was causing a .hc
2967 file to be emitted in certain cases.  I've tidied up the code, there
2968 was no need for -fno-code to be a "mode" flag, as far as I can tell.
2969 
2970 -fno-code does not emit interface files, nor does it do recompilation
2971 checking, as suggested in #3783.  This would make Haddock emit
2972 interface files, for example, and I'm fairly sure we don't want to do
2973 that.  Compiling with -fno-code is pretty quick anyway, perhaps we can
2974 get away without recompilation checking.
2975]
2976[remove duplicate docs for -e in --help output (#4010)
2977Simon Marlow <marlowsd@gmail.com>**20100426140642
2978 Ignore-this: 187ff893ba8ffa0ec127867a7590e38d
2979]
2980[workaround for #4003, fixes HEAD build with 6.12.2
2981Simon Marlow <marlowsd@gmail.com>**20100426103428
2982 Ignore-this: c4bc445dc8052d4e6efef3f1daf63562
2983]
2984[Make sure all the clean rules are always included
2985Ian Lynagh <igloo@earth.li>**20100424181823
2986 In particular, this fixes a problem where stage3 bits weren't being cleaned
2987]
2988[Correct the name of the amd64/FreeBSD platform in PlatformSupportsSharedLibs
2989Ian Lynagh <igloo@earth.li>**20100424132830
2990 We weren't getting sharedlibs on amd64/FreeBSD because of this
2991]
2992[Include DPH docs in bindists
2993Ian Lynagh <igloo@earth.li>**20100424123101]
2994[reinstate eta-expansion during SimplGently, to fix inlining of sequence_
2995Simon Marlow <marlowsd@gmail.com>**20100423124853
2996 Ignore-this: 4fa0fd5bafe0d6b58fc81076f50d5f8d
2997]
2998[fix 64-bit value for W_SHIFT, which thankfully appears to be not used
2999Simon Marlow <marlowsd@gmail.com>**20100422213605
3000 Ignore-this: 525c062d2456c224ec8d0e083edd3b55
3001]
3002[Add missing constant folding and optimisation for unsigned division
3003Simon Marlow <marlowsd@gmail.com>**20100422213443
3004 Ignore-this: fb10d1cda0852fab0cbcb47247498fb3
3005 Noticed by Denys Rtveliashvili <rtvd@mac.com>, see #4004
3006]
3007[Fix the GHC API link in the main doc index.html
3008Ian Lynagh <igloo@earth.li>**20100422213226]
3009[Give the right exit code in darcs-all
3010Ian Lynagh <igloo@earth.li>**20100421171339
3011 Our END block was calling system, which alters $?. So now we save and
3012 restore it.
3013]
3014[Use StgWord64 instead of ullong
3015Ian Lynagh <igloo@earth.li>**20100421162336
3016 This patch also fixes ullong_format_string (renamed to showStgWord64)
3017 so that it works with values outside the 32bit range (trac #3979), and
3018 simplifies the without-commas case.
3019]
3020[Implement try10Times in Makefile
3021Ian Lynagh <igloo@earth.li>**20100420165909
3022 Avoid using seq, as FreeBSD has jot instead.
3023]
3024[Fix crash in non-threaded RTS on Windows
3025Simon Marlow <marlowsd@gmail.com>**20100420122125
3026 Ignore-this: 28b0255a914a8955dce02d89a7dfaca
3027 The tso->block_info field is now overwritten by pushOnRunQueue(), but
3028 stg_block_async_info was assuming that it still held a pointer to the
3029 StgAsyncIOResult.  We must therefore save this value somewhere safe
3030 before putting the TSO on the run queue.
3031]
3032[Expand the scope of the event_buf_mutex to cover io_manager_event
3033Simon Marlow <marlowsd@gmail.com>**20100420122026
3034 Ignore-this: 185a6d84f7d4a35997f10803f6dacef1
3035 I once saw a failure that I think was due to a race on
3036 io_manager_event, this should fix it.
3037]
3038[Flags -auto and -auto-all operate only on functions not marked INLINE.
3039Milan Straka <fox@ucw.cz>**20100331191050
3040 Ignore-this: 3b63580cfcb3c33d62ad697c36d94d05
3041]
3042[Spelling correction for LANGUAGE pragmas
3043Max Bolingbroke <batterseapower@hotmail.com>**20100413192825
3044 Ignore-this: 311b51ba8d43f6c7fd32f48db9a88dee
3045]
3046[Update the user guide so it talks about the newer "do rec" notation everywhere
3047Ian Lynagh <igloo@earth.li>**20100416205416
3048 Some of the problems highlighted in trac #3968.
3049]
3050[Fix typo
3051Ian Lynagh <igloo@earth.li>**20100416205412]
3052[Fix Trac #3950: unifying types of different kinds
3053simonpj@microsoft.com**20100412151845
3054 Ignore-this: d145b9de5ced136ef2c39f3ea4a04f4a
3055 
3056 I was assuming that the unifer only unified types of the
3057 same kind, but now we can "defer" unsolved constraints that
3058 invariant no longer holds.  Or at least is's more complicated
3059 to ensure. 
3060 
3061 This patch takes the path of not assuming the invariant, which
3062 is simpler and more robust.  See
3063 Note [Mismatched type lists and application decomposition]
3064]
3065[Fix Trac #3943: incorrect unused-variable warning
3066simonpj@microsoft.com**20100412151630
3067 Ignore-this: 52459f2b8b02c3cb120abe674dc9a060
3068 
3069 In fixing this I did the usual little bit of refactoring
3070]
3071[Convert boot and boot-pkgs to perl
3072Ian Lynagh <igloo@earth.li>**20100415143919
3073 This stops us having to worry about sh/sed/... portability.
3074]
3075[Use $(MAKE), not make, when recursively calling make
3076Ian Lynagh <igloo@earth.li>**20100415121453]
3077[Remove the ghc_ge_609 makefile variables
3078Ian Lynagh <igloo@earth.li>**20100412235658
3079 They are now guaranteed to be YES
3080]
3081[Increase the minimum version number required to 6.10 in configure.ac
3082Ian Lynagh <igloo@earth.li>**20100412235313]
3083[The bootstrapping compiler is now required to be > 609
3084Ian Lynagh <igloo@earth.li>**20100409161046]
3085[Handle IND_STATIC in isRetainer
3086Ian Lynagh <igloo@earth.li>**20100409104207
3087 IND_STATIC used to be an error, but at the moment it can happen
3088 as isAlive doesn't look through IND_STATIC as it ignores static
3089 closures. See trac #3956 for a program that hit this error.
3090]
3091[Add Data and Typeable instances to HsSyn
3092David Waern <david.waern@gmail.com>**20100330011020
3093 Ignore-this: c3f2717207b15539fea267c36b686e6a
3094 
3095 The instances (and deriving declarations) have been taken from the ghc-syb
3096 package.
3097]
3098[Fix for derefing ThreadRelocated TSOs in MVar operations
3099Simon Marlow <marlowsd@gmail.com>**20100407092824
3100 Ignore-this: 94dd7c68a6094eda667e2375921a8b78
3101]
3102[sanity check fix
3103Simon Marlow <marlowsd@gmail.com>**20100407092746
3104 Ignore-this: 9c18cd5f5393e5049015ca52e62a1269
3105]
3106[get the reg liveness right in the putMVar# heap check
3107Simon Marlow <marlowsd@gmail.com>**20100407092724
3108 Ignore-this: b1ba07a59ecfae00e9a1f8391741abc
3109]
3110[initialise the headers of MSG_BLACKHOLE objects properly
3111Simon Marlow <marlowsd@gmail.com>**20100407081712
3112 Ignore-this: 183dcd0ca6a395d08db2be12b02bdd79
3113]
3114[initialise the headers of MVAR_TSO_QUEUE objects properly
3115Simon Marlow <marlowsd@gmail.com>**20100407081514
3116 Ignore-this: 4b4a2f30cf2fb69ca4128c41744687bb
3117]
3118[undo debugging code
3119Simon Marlow <marlowsd@gmail.com>**20100406142740
3120 Ignore-this: 323c2248f817b6717c19180482fc4b00
3121]
3122[putMVar#: fix reg liveness in the heap check
3123Simon Marlow <marlowsd@gmail.com>**20100406135832
3124 Ignore-this: cddd2c7807ac7612c9b2c4c0d384d284
3125]
3126[account for the new BLACKHOLEs in the GHCi debugger
3127Simon Marlow <marlowsd@gmail.com>**20100406133406
3128 Ignore-this: 4d4aeb4bbada3f50dc1fb0123f565e8f
3129]
3130[don't forget to deRefTSO() in tryWakeupThread()
3131Simon Marlow <marlowsd@gmail.com>**20100406130411
3132 Ignore-this: 171d57c4f8653835dec0b69f9be9881c
3133]
3134[Fix bug in popRunQueue
3135Simon Marlow <marlowsd@gmail.com>**20100406091453
3136 Ignore-this: 9d3cec8f18f5c5cbd51751797386eb6f
3137]
3138[fix bug in migrateThread()
3139Simon Marlow <marlowsd@gmail.com>**20100401105840
3140 Ignore-this: 299bcf0d1ea0f8865f3e845eb93d2ad3
3141]
3142[Remove the IND_OLDGEN and IND_OLDGEN_PERM closure types
3143Simon Marlow <marlowsd@gmail.com>**20100401093519
3144 Ignore-this: 95f2480c8a45139835eaf5610217780b
3145 These are no longer used: once upon a time they used to have different
3146 layout from IND and IND_PERM respectively, but that is no longer the
3147 case since we changed the remembered set to be an array of addresses
3148 instead of a linked list of closures.
3149]
3150[Change the representation of the MVar blocked queue
3151Simon Marlow <marlowsd@gmail.com>**20100401091605
3152 Ignore-this: 20a35bfabacef2674df362905d7834fa
3153 
3154 The list of threads blocked on an MVar is now represented as a list of
3155 separately allocated objects rather than being linked through the TSOs
3156 themselves.  This lets us remove a TSO from the list in O(1) time
3157 rather than O(n) time, by marking the list object.  Removing this
3158 linear component fixes some pathalogical performance cases where many
3159 threads were blocked on an MVar and became unreachable simultaneously
3160 (nofib/smp/threads007), or when sending an asynchronous exception to a
3161 TSO in a long list of thread blocked on an MVar.
3162 
3163 MVar performance has actually improved by a few percent as a result of
3164 this change, slightly to my surprise.
3165 
3166 This is the final cleanup in the sequence, which let me remove the old
3167 way of waking up threads (unblockOne(), MSG_WAKEUP) in favour of the
3168 new way (tryWakeupThread and MSG_TRY_WAKEUP, which is idempotent).  It
3169 is now the case that only the Capability that owns a TSO may modify
3170 its state (well, almost), and this simplifies various things.  More of
3171 the RTS is based on message-passing between Capabilities now.
3172]
3173[eliminate some duplication with a bit of CPP
3174Simon Marlow <marlowsd@gmail.com>**20100330154355
3175 Ignore-this: 838f7d341f096ca14c86ab9c81193e36
3176]
3177[Make ioManagerDie() idempotent
3178Simon Marlow <marlowsd@gmail.com>**20100401100705
3179 Ignore-this: a5996b43cdb2e2d72e6e971d7ea925fb
3180 Avoids screeds of "event buffer overflowed; event dropped" in
3181 conc059(threaded1).
3182]
3183[Move a thread to the front of the run queue when another thread blocks on it
3184Simon Marlow <marlowsd@gmail.com>**20100329144521
3185 Ignore-this: c518ff0d41154680edc811d891826a29
3186 This fixes #3838, and was made possible by the new BLACKHOLE
3187 infrastructure.  To allow reording of the run queue I had to make it
3188 doubly-linked, which entails some extra trickiness with regard to
3189 GC write barriers and suchlike.
3190]
3191[remove non-existent MUT_CONS symbols
3192Simon Marlow <marlowsd@gmail.com>**20100330152600
3193 Ignore-this: 885628257a9d03f2ece2a754d993014a
3194]
3195[change throwTo to use tryWakeupThread rather than unblockOne
3196Simon Marlow <marlowsd@gmail.com>**20100329144613
3197 Ignore-this: 10ad4965e6c940db71253f1c72218bbb
3198]
3199[tiny GC optimisation
3200Simon Marlow <marlowsd@gmail.com>**20100329144551
3201 Ignore-this: 9e095b9b73fff0aae726f9937846ba92
3202]
3203[New implementation of BLACKHOLEs
3204Simon Marlow <marlowsd@gmail.com>**20100329144456
3205 Ignore-this: 96cd26793b4e6ab9ddd0d59aae5c2f1d
3206 
3207 This replaces the global blackhole_queue with a clever scheme that
3208 enables us to queue up blocked threads on the closure that they are
3209 blocked on, while still avoiding atomic instructions in the common
3210 case.
3211 
3212 Advantages:
3213 
3214  - gets rid of a locked global data structure and some tricky GC code
3215    (replacing it with some per-thread data structures and different
3216    tricky GC code :)
3217 
3218  - wakeups are more prompt: parallel/concurrent performance should
3219    benefit.  I haven't seen anything dramatic in the parallel
3220    benchmarks so far, but a couple of threading benchmarks do improve
3221    a bit.
3222 
3223  - waking up a thread blocked on a blackhole is now O(1) (e.g. if
3224    it is the target of throwTo).
3225 
3226  - less sharing and better separation of Capabilities: communication
3227    is done with messages, the data structures are strictly owned by a
3228    Capability and cannot be modified except by sending messages.
3229 
3230  - this change will utlimately enable us to do more intelligent
3231    scheduling when threads block on each other.  This is what started
3232    off the whole thing, but it isn't done yet (#3838).
3233 
3234 I'll be documenting all this on the wiki in due course.
3235 
3236]
3237[Fix warnings (allow pushOnRunQueue() to not be inlined)
3238Simon Marlow <marlowsd@gmail.com>**20100401114559
3239 Ignore-this: f40bfbfad70a5165a946d11371605b7d
3240]
3241[remove out of date comment
3242Simon Marlow <marlowsd@gmail.com>**20100401105853
3243 Ignore-this: 26af88dd418ee0bcda7223b3b7e4e8d2
3244]
3245[tidy up spacing in stderr traces
3246Simon Marlow <marlowsd@gmail.com>**20100326163122
3247 Ignore-this: 16558b0433a274be217d4bf39aa4946
3248]
3249[Fix an assertion that was not safe when running in parallel
3250Simon Marlow <marlowsd@gmail.com>**20100325143656
3251 Ignore-this: cad08fb8900eb3a475547af0189fcc47
3252]
3253[Never jump directly to a thunk's entry code, even if it is single-entry
3254Simon Marlow <marlowsd@gmail.com>**20100325114847
3255 Ignore-this: 938da172c06a97762ef605c8fccfedf1
3256 I don't think this fixes any bugs as we don't have single-entry thunks
3257 at the moment, but it could cause problems for parallel execution if
3258 we ever did re-introduce update avoidance.
3259]
3260[Rename forgotten -dverbose-simpl to -dverbose-core2core in the docs.
3261Milan Straka <fox@ucw.cz>**20100331153626
3262 Ignore-this: 2da58477fb96e1cfb80f37dddd7c422c
3263]
3264[Add -pa and -V to the documentation of time profiling options.
3265Milan Straka <fox@ucw.cz>**20100329191121
3266 Ignore-this: be74d216481ec5a19e5f40f85e6e3d65
3267]
3268[Keep gcc 4.5 happy
3269Simon Marlow <marlowsd@gmail.com>**20100330120425
3270 Ignore-this: 7811878cc2bd1ce9cfbb5bf102fe3454
3271]
3272[Fix warning compiling Linker.c for PPC Mac
3273naur@post11.tele.dk**20100403182355
3274 Ignore-this: e2d2448770c9714ce17dd6cf3e297063
3275 The warning message eliminated is:
3276 > rts/Linker.c:4756:0:
3277 >      warning: nested extern declaration of 'symbolsWithoutUnderscore'
3278]
3279[Fix error compiling AsmCodeGen.lhs for PPC Mac (mkRtsCodeLabel)
3280naur@post11.tele.dk**20100403181656
3281 Ignore-this: deb7524ea7852a15a2ac0849c8c82f74
3282 The error messages eliminated are:
3283 > compiler/nativeGen/AsmCodeGen.lhs:875:31:
3284 >     Not in scope: `mkRtsCodeLabel'
3285 > compiler/nativeGen/AsmCodeGen.lhs:879:31:
3286 >     Not in scope: `mkRtsCodeLabel'
3287 > compiler/nativeGen/AsmCodeGen.lhs:883:31:
3288 >     Not in scope: `mkRtsCodeLabel'
3289]
3290[Fix error compiling AsmCodeGen.lhs for PPC Mac (DestBlockId)
3291naur@post11.tele.dk**20100403180643
3292 Ignore-this: 71e833e94ed8371b2ffabc2cf80bf585
3293 The error message eliminated is:
3294 > compiler/nativeGen/AsmCodeGen.lhs:637:16:
3295 >     Not in scope: data constructor `DestBlockId'
3296]
3297[Fix boot-pkgs's sed usage to work with Solaris's sed
3298Ian Lynagh <igloo@earth.li>**20100401153441]
3299[Pass "-i org.haskell.GHC" to packagemaker when building the OS X installer
3300Ian Lynagh <igloo@earth.li>**20100331144707
3301 This seems to fix this failure:
3302 [...]
3303 ** BUILD SUCCEEDED **
3304 rm -f -f GHC-system.pmdoc/*-contents.xml
3305 /Developer/usr/bin/packagemaker -v --doc GHC-system.pmdoc\
3306              -o /Users/ian/to_release/ghc-6.12.1.20100330/GHC-6.12.1.20100330-i386.pkg
3307 2010-03-31 15:08:15.695 packagemaker[13909:807] Setting to : 0 (null)
3308 2010-03-31 15:08:15.709 packagemaker[13909:807] Setting to : 0 org.haskell.glasgowHaskellCompiler.ghc.pkg
3309 2010-03-31 15:08:15.739 packagemaker[13909:807] relocate: (null) 0
3310 2010-03-31 15:08:15.740 packagemaker[13909:807] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSXMLDocument initWithXMLString:options:error:]: nil argument'
3311 2010-03-31 15:08:15.741 packagemaker[13909:807] Stack: (
3312     2511962091,
3313     2447007291,
3314     2511961547,
3315     2511961610,
3316     2432803204,
3317     453371,
3318     447720,
3319     436209,
3320     435510,
3321     9986,
3322     9918
3323 )
3324 make[1]: *** [framework-pkg] Trace/BPT trap
3325 make: *** [framework-pkg] Error 2
3326]
3327[Use machdepCCOpts when compiling the file to toggle -(no-)rtsopts
3328Ian Lynagh <igloo@earth.li>**20100331161302
3329 Should fix toggling on OS X "Snow Leopard". Diagnosed by Roman Leshchinskiy.
3330]
3331[Avoid a non-portable use of tar reported by Roman Leshchinskiy
3332Ian Lynagh <igloo@earth.li>**20100330145802]
3333[Don't install EXTRA_PACKAGES by default
3334Simon Marlow <marlowsd@gmail.com>**20100330142714
3335 Ignore-this: d4cc8f87a6de8d9d1d6dc9b77130b3
3336]
3337[fix a non-portable printf format
3338Simon Marlow <marlowsd@gmail.com>**20100330134437
3339 Ignore-this: d41c23c54ec29654cb2049de1e588570
3340]
3341[avoid single quote in #error
3342Simon Marlow <marlowsd@gmail.com>**20100330120346
3343 Ignore-this: 663f39e7a27fead2f648fbf22d345bb4
3344]
3345[use FMT_Word64 instead of locally-defined version
3346Simon Marlow <marlowsd@gmail.com>**20100330114650
3347 Ignore-this: 82697b8095dffb3a8e196c687006ece0
3348]
3349[remove old/unused DotnetSupport and GhcLibsWithUnix
3350Simon Marlow <marlowsd@gmail.com>**20100330123732
3351 Ignore-this: c68814868b3671abdc369105bbeafe6c
3352]
3353[fix return type cast in f.i.wrapper when using libffi (#3516)
3354Simon Marlow <marlowsd@gmail.com>**20100329154220
3355 Ignore-this: f898eb8c9ae2ca2009e539735b92c438
3356 
3357 Original fix submitted by
3358   Sergei Trofimovich <slyfox@community.haskell.org>
3359 modified by me:
3360  - exclude 64-bit types
3361  - compare uniques, not strings
3362  - #include "ffi.h" is conditional
3363]
3364[libffi: install 'ffitarget.h' header as sole 'ffi.h' is unusable
3365Simon Marlow <marlowsd@gmail.com>**20100329135734
3366 Ignore-this: f9b555ea289d8df1aa22cb6faa219a39
3367 Submitted by: Sergei Trofimovich <slyfox@community.haskell.org>
3368 Re-recorded against HEAD.
3369]
3370[avoid a fork deadlock (see comments)
3371Simon Marlow <marlowsd@gmail.com>**20100329132329
3372 Ignore-this: 3377f88b83bb3b21e42d7fc5f0d866f
3373]
3374[tidy up the end of the all_tasks list after forking
3375Simon Marlow <marlowsd@gmail.com>**20100329132253
3376 Ignore-this: 819d679875be5f344e816210274d1c29
3377]
3378[Add a 'setKeepCAFs' external function (#3900)
3379Simon Marlow <marlowsd@gmail.com>**20100329110036
3380 Ignore-this: ec532a18cad4259a09847b0b9ae2e1d2
3381]
3382[Explicitly check whether ar supports the @file syntax
3383Ian Lynagh <igloo@earth.li>**20100329123325
3384 rather than assuming that all GNU ar's do.
3385 Apparently OpenBSD's older version doesn't.
3386]
3387[Fix the format specifier for Int64/Word64 on Windows
3388Ian Lynagh <igloo@earth.li>**20100327182126
3389 mingw doesn't understand %llu/%lld - it treats them as 32-bit rather
3390 than 64-bit. We use %I64u/%I64d instead.
3391]
3392[Fix the ghci startmenu item
3393Ian Lynagh <igloo@earth.li>**20100326235934
3394 I'm not sure what changed, but it now doesn't work for me without
3395 the "Start in" field being set.
3396]
3397[Fix paths to docs in "Start Menu" entries in Windows installer; fixes #3847
3398Ian Lynagh <igloo@earth.li>**20100326155917]
3399[Add a licence file for the Windows installer to use
3400Ian Lynagh <igloo@earth.li>**20100326155130]
3401[Add gcc-g++ to the inplace mingw installation; fixes #3893
3402Ian Lynagh <igloo@earth.li>**20100326154714]
3403[Add the licence file to the Windows installer. Fixes #3934
3404Ian Lynagh <igloo@earth.li>**20100326152449]
3405[Quote the paths to alex and happy in configure
3406Ian Lynagh <igloo@earth.li>**20100325143449
3407 Ignore-this: d6d6e1a250f88985bbeea760e63a79db
3408]
3409[Use </> rather than ++ "/"
3410Ian Lynagh <igloo@earth.li>**20100325133237
3411 This stops us generating paths like
3412     c:\foo\/ghc460_0/ghc460_0.o
3413 which windres doesn't understand.
3414]
3415[Append $(exeext) to utils/ghc-pkg_dist_PROG
3416Ian Lynagh <igloo@earth.li>**20100324233447
3417 Fixes bindist creation
3418]
3419[A sanity check
3420Simon Marlow <marlowsd@gmail.com>**20100325110500
3421 Ignore-this: 3b3b76d898c822456857e506b7531e65
3422]
3423[do_checks: do not set HpAlloc if the stack check fails
3424Simon Marlow <marlowsd@gmail.com>**20100325110328
3425 Ignore-this: 899ac8c29ca975d03952dbf4608d758
3426 
3427 This fixes a very rare heap corruption bug, whereby
3428 
3429  - a context switch is requested, which sets HpLim to zero
3430    (contextSwitchCapability(), called by the timer signal or
3431    another Capability).
3432 
3433  - simultaneously a stack check fails, in a code fragment that has
3434    both a stack and a heap check.
3435 
3436 The RTS then assumes that a heap-check failure has occurred and
3437 subtracts HpAlloc from Hp, although in fact it was a stack-check
3438 failure and retreating Hp will overwrite valid heap objects.  The bug
3439 is that HpAlloc should only be set when Hp has been incremented by the
3440 heap check.  See comments in rts/HeapStackCheck.cmm for more details.
3441 
3442 This bug is probably incredibly rare in practice, but I happened to be
3443 working on a test that triggers it reliably:
3444 concurrent/should_run/throwto001, compiled with -O -threaded, args 30
3445 300 +RTS -N2, run repeatedly in a loop.
3446]
3447[comments and formatting only
3448Simon Marlow <marlowsd@gmail.com>**20100325104617
3449 Ignore-this: c0a211e15b5953bb4a84771bcddd1d06
3450]
3451[Change how perl scripts get installed; partially fixes #3863
3452Ian Lynagh <igloo@earth.li>**20100324171422
3453 We now regenerate them when installing, which means the path for perl
3454 doesn't get baked in
3455]
3456[Pass the location of gcc in the ghc wrapper script; partially fixes #3863
3457Ian Lynagh <igloo@earth.li>**20100324171408
3458 This means we don't rely on baking a path to gcc into the executable
3459]
3460[Quote the ar path in configure
3461Ian Lynagh <igloo@earth.li>**20100324162043]
3462[Remove unused cUSER_WAY_NAMES cUSER_WAY_OPTS
3463Ian Lynagh <igloo@earth.li>**20100324145048]
3464[Remove unused cCONTEXT_DIFF
3465Ian Lynagh <igloo@earth.li>**20100324145013]
3466[Remove unused cEnableWin32DLLs
3467Ian Lynagh <igloo@earth.li>**20100324144841]
3468[Remove unused cGHC_CP
3469Ian Lynagh <igloo@earth.li>**20100324144656]
3470[Fix the build for non-GNU-ar
3471Ian Lynagh <igloo@earth.li>**20100324132907]
3472[Tweak the Makefile code for making .a libs; fixes trac #3642
3473Ian Lynagh <igloo@earth.li>**20100323221325
3474 The main change is that, rather than using "xargs ar" we now put
3475 all the filenames into a file, and do "ar @file". This means that
3476 ar adds all the files at once, which works around a problem where
3477 files with the same basename in a later invocation were overwriting
3478 the existing file in the .a archive.
3479]
3480[Enable shared libraries on Windows; fixes trac #3879
3481Ian Lynagh <igloo@earth.li>**20100320231414
3482 Ignore-this: c93b35ec5b7a7fa6ddb286d17a616216
3483]
3484[Add the external core PDF to the new build system
3485Ian Lynagh <igloo@earth.li>**20100321161909]
3486[Allow specifying $threads directly when validating
3487Ian Lynagh <igloo@earth.li>**20100321112835]
3488[Remove LazyUniqFM; fixes trac #3880
3489Ian Lynagh <igloo@earth.li>**20100320213837]
3490[UNDO: slight improvement to scavenging ...
3491Simon Marlow <marlowsd@gmail.com>**20100319153413
3492 Ignore-this: f0ab581c07361f7b57eae02dd6ec893c
3493 
3494 Accidnetally pushed this patch which, while it validates, isn't
3495 correct.
3496 
3497 rolling back:
3498 
3499 Fri Mar 19 11:21:27 GMT 2010  Simon Marlow <marlowsd@gmail.com>
3500   * slight improvement to scavenging of update frames when a collision has occurred
3501 
3502     M ./rts/sm/Scav.c -19 +15
3503]
3504[slight improvement to scavenging of update frames when a collision has occurred
3505Simon Marlow <marlowsd@gmail.com>**20100319112127
3506 Ignore-this: 6de2bb9614978975f17764a0f259d9bf
3507]
3508[Don't install the utf8-string package
3509Ian Lynagh <igloo@earth.li>**20100317212709]
3510[Don't use -Bsymbolic when linking the RTS
3511Ian Lynagh <igloo@earth.li>**20100316233357
3512 This makes the RTS hooks work when doing dynamic linking
3513]
3514[Fix Trac #3920: Template Haskell kinds
3515simonpj@microsoft.com**20100317123519
3516 Ignore-this: 426cac7920446e04f3cc30bd1d9f76e2
3517 
3518 Fix two places where we were doing foldl instead of foldr
3519 after decomposing a Kind.  Strange that the same bug appears
3520 in two quite different places!
3521]
3522[copy_tag_nolock(): fix write ordering and add a write_barrier()
3523Simon Marlow <marlowsd@gmail.com>**20100316143103
3524 Ignore-this: ab7ca42904f59a0381ca24f3eb38d314
3525 
3526 Fixes a rare crash in the parallel GC.
3527 
3528 If we copy a closure non-atomically during GC, as we do for all
3529 immutable values, then before writing the forwarding pointer we better
3530 make sure that the closure itself is visible to other threads that
3531 might follow the forwarding pointer.  I imagine this doesn't happen
3532 very often, but I just found one case of it: in scavenge_stack, the
3533 RET_FUN case, after evacuating ret_fun->fun we then follow it and look
3534 up the info pointer.
3535]
3536[Add sliceP mapping to vectoriser builtins
3537benl@ouroborus.net**20100316060517
3538 Ignore-this: 54c3cafff584006b6fbfd98124330aa3
3539]
3540[Comments only
3541benl@ouroborus.net**20100311064518
3542 Ignore-this: d7dc718cc437d62aa5b1b673059a9b22
3543]
3544[TAG 2010-03-16
3545Ian Lynagh <igloo@earth.li>**20100316005137
3546 Ignore-this: 234e3bc29e2f26cc59d7b03d780cc352
3547]
3548Patch bundle hash:
35492179622395187e08a229922b5f4e0ae8489e9ab8