Ticket #710: ghc_pkg-license_file-support.dpatch

File ghc_pkg-license_file-support.dpatch, 85.7 KB (added by elliottt, 3 years ago)

Binary package parser changes

Line 
1Mon Jul 12 18:06:26 PDT 2010  Trevor Elliott <trevor@galois.com>
2  * ghc-pkg license-file support
3 
4  Add support for parsing the license-file field out of the binary package
5  format
6
7New patches:
8
9[ghc-pkg license-file support
10Trevor Elliott <trevor@galois.com>**20100713010626
11 Ignore-this: 67ec77f6a3e27c172f132c8dadb616ae
12 
13 Add support for parsing the license-file field out of the binary package
14 format
15] {
16hunk ./libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs 56
17   put (sourcePackageId ipi)
18   put (installedPackageId ipi)
19   put (license ipi)
20+  put (licenseFile ipi)
21   put (copyright ipi)
22   put (maintainer ipi)
23   put (author ipi)
24hunk ./libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs 89
25   sourcePackageId <- get
26   installedPackageId <- get
27   license <- get
28+  licenseFile <- get
29   copyright <- get
30   maintainer <- get
31   author <- get
32}
33
34Context:
35
36[ia64: switch handling of 'foreign import wrapper' (FIW) to libffi
37Sergei Trofimovich <slyfox@community.haskell.org>**20100709213922
38 Ignore-this: fd07687e0089aebabf62de85d2be693
39 
40 I tried to build darcs-2.4.4 with ghc-6.12.3 and got coredumps when darcs is used
41 in interactive mode. I tried test from ticket #3516 and found out FIW code is broken.
42 Instead of fixing it I just switched to libffi. Result built successfully, passed
43 'foreign import wrapper' test from ticket #3516 and builds working darcs.
44]
45[* storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid)
46Sergei Trofimovich <slyfox@community.haskell.org>**20100709115917
47 Ignore-this: 9f1958a19992091ddc2761c389ade940
48 
49 Patch does not touch amd64 as it's address lengts is 48 bits at most, so amd64 is unaffected.
50 
51 the issue: during ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I
52 got the failure on stage2 phase:
53     "inplace/bin/ghc-stage2"   -H32m -O -H64m -O0 -w ...
54     ghc-stage2: internal error: evacuate: strange closure type 15
55         (GHC version 6.12.3 for ia64_unknown_linux)
56         Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
57     make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted
58 
59 gdb backtrace (break on 'barf'):
60 Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39.
61 (gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info
62 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
63 [Thread debugging using libthread_db enabled]
64 
65 Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
66 39        va_start(ap,s);
67 (gdb) bt
68 #0  barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39
69 #1  0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756
70 #2  0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348
71 ...
72 
73 > 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q)
74 >                      is returning true for a FUN_STATIC closure
75 > 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
76 > 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p)
77 > 17:19:12 < slyfox> $1 = 0
78 > 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken
79 > 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33
80 >                      bits and different high 4 bits, and it looks like such pointers get put into the same bucket in
81 >                      mblock_cache.
82 ...
83 > 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps
84 > 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h
85 And it helped!
86]
87[Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld)
88Sergei Trofimovich <slyfox@community.haskell.org>**20100708180943
89 Ignore-this: ced99785e1f870ee97e5bec658e2504f
90 
91     /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \
92                                   dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ...
93     /usr/bin/ld: unrecognized option '-Wl,--relax'
94 
95 If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible.
96 
97 Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option.
98 Removing ia64 specific path.
99]
100[LLVM: Allow getelementptr to use LlvmVar for indexes.
101David Terei <davidterei@gmail.com>**20100712152529
102 Ignore-this: 9e158d9b89a86bca8abf11d082328278
103]
104[Move all the warning workarounds to one place
105Ian Lynagh <igloo@earth.li>**20100710161723]
106[xhtml is now warning-free
107Ian Lynagh <igloo@earth.li>**20100710144635]
108[Move a bit of build system code
109Ian Lynagh <igloo@earth.li>**20100709224534]
110[adapt to the new async exceptions API
111Simon Marlow <marlowsd@gmail.com>**20100709125238
112 Ignore-this: 55d845e40b9daed3575c1479d8dda1d5
113]
114[quiet some new spewage
115Simon Marlow <marlowsd@gmail.com>**20100709091521
116 Ignore-this: de7f91976bbc9789e6fd7091f05c25c0
117]
118[New asynchronous exception control API (ghc parts)
119Simon Marlow <marlowsd@gmail.com>**20100708144851
120 Ignore-this: 56320c5fc61ae3602d586609387aae22
121 
122 As discussed on the libraries/haskell-cafe mailing lists
123   http://www.haskell.org/pipermail/libraries/2010-April/013420.html
124 
125 This is a replacement for block/unblock in the asychronous exceptions
126 API to fix a problem whereby a function could unblock asynchronous
127 exceptions even if called within a blocked context.
128 
129 The new terminology is "mask" rather than "block" (to avoid confusion
130 due to overloaded meanings of the latter).
131 
132 In GHC, we changed the names of some primops:
133 
134   blockAsyncExceptions#   -> maskAsyncExceptions#
135   unblockAsyncExceptions# -> unmaskAsyncExceptions#
136   asyncExceptionsBlocked# -> getMaskingState#
137 
138 and added one new primop:
139 
140   maskUninterruptible#
141 
142 See the accompanying patch to libraries/base for the API changes.
143]
144[remove outdated comment
145Simon Marlow <marlowsd@gmail.com>**20100708100840
146 Ignore-this: afb2e9f6fe1f1acda51b0cbdf2637176
147]
148[remove 'mode: xml' emacs settings (#2208)
149Simon Marlow <marlowsd@gmail.com>**20100708100817
150 Ignore-this: 3a8d997fb90e01ca88dc47fb95feeba0
151]
152[typo in comment
153Simon Marlow <marlowsd@gmail.com>**20100616111359
154 Ignore-this: d3ef9288d6d6b9ab3bacbe09e0d9801c
155]
156[Win32 getProcessElapsedTime: use a higher-resolution time source
157Simon Marlow <marlowsd@gmail.com>**20100708093223
158 Ignore-this: 821989d4ff7ff2bff40cee71a881521c
159 QueryPerformanceCounter() on Windows gives much better resolution than
160 GetSystemTimeAsFileTime().
161]
162[alpha: switch handling of 'foreign import wrapper' (FIW) to libffi
163Sergei Trofimovich <slyfox@community.haskell.org>**20100708065318
164 Ignore-this: ddee15876737a6aa7f6dabc8ff79ce0d
165 
166 I tried to build ghc-6.12.3 and found out FIW part of code
167 does not compile anymore. It uses absent functions under #ifdef.
168 Instead of fixing it I just switched to libffi. Result built successfully
169 and passed 'foreign import wrapper' test I wrote for trac ticket #3516.
170 
171 I didn't try to build -HEAD yet, but this patch only removes code, so
172 it should not make -HEAD worse.
173]
174[Reorder the CPP flags so -optP can override the platform defines
175Ian Lynagh <igloo@earth.li>**20100708203523]
176[Add docs for DatatypeContexts extension
177Ian Lynagh <igloo@earth.li>**20100707230907
178 Ignore-this: 8158f03b35a2d7442a75fe85d6f1b1c7
179]
180[Make datatype contexts an extension (on by default) (DatatypeContexts)
181Ian Lynagh <igloo@earth.li>**20100707212529
182 Ignore-this: 6885ff510a0060610eeeba65122caef5
183]
184[LLVM: Fix various typos in comments
185David Terei <davidterei@gmail.com>**20100707220448
186 Ignore-this: 1ba3e722f150492da2f9d485c5795e80
187]
188[Handle haddock headers when looking for LANGUAGE/OPTIONS_GHC pragmas
189Ian Lynagh <igloo@earth.li>**20100707120423
190 Ignore-this: a75aa67690284a6cee3e62c943d4fd01
191]
192[Make pragState call mkPState, rather than duplicating everything
193Ian Lynagh <igloo@earth.li>**20100706173007
194 Ignore-this: 61fe24b99dbe7a42efff1a9dd703a75c
195 This also means that extsBitmap gets set, whereas is was just being set
196 to 0 before.
197]
198[LLVM: Add alias type defenitions to LlvmModule.
199David Terei <davidterei@gmail.com>**20100707142053
200 Ignore-this: eee6ad5385563ccf08e664d2634a03f2
201]
202[LLVM: Use packed structure type instead of structure type
203David Terei <davidterei@gmail.com>**20100707120320
204 Ignore-this: a06e0359d182291b81cae56993ca385e
205 
206 The regular structure type adds padding to conform to the platform ABI,
207 which causes problems with structures storing doubles under windows since
208 we don't conform to the platform ABI there. So we use packed structures
209 instead now that don't do any padding.
210]
211[Make mkPState and pragState take their arguments in the same order
212Ian Lynagh <igloo@earth.li>**20100706172611]
213[Remove an out-of-date comment
214Ian Lynagh <igloo@earth.li>**20100706172217
215 Ignore-this: 710ebd7d2dc01c1b0f1e58a5b6f85701
216]
217[LLVM: Stop llvm saving stg caller-save regs across C calls
218David Terei <davidterei@gmail.com>**20100705162629
219 Ignore-this: 28b4877b31b9358e682e38fc54b88658
220 
221 This is already handled by the Cmm code generator so LLVM is simply
222 duplicating work. LLVM also doesn't know which ones are actually live
223 so saves them all which causes a fair performance overhead for C calls
224 on x64. We stop llvm saving them across the call by storing undef to
225 them just before the call.
226]
227[LLVM: Add in literal undefined value to binding
228David Terei <davidterei@gmail.com>**20100705161544
229 Ignore-this: 95d8361b11584aaeec44c30e76916470
230]
231[LLVM: Add a literal NULL value to binding
232David Terei <davidterei@gmail.com>**20100705161308
233 Ignore-this: 9507b4b12c1157498704a9d1e5860f12
234 
235 Patch from Erik de Castro Lopo <erikd@mega-nerd.com>.
236]
237[refactor import declaration support (#2362)
238Simon Marlow <marlowsd@gmail.com>**20100705104557
239 Ignore-this: ee034ac377078a7e92bfada1907c86a0
240]
241[Disable dynamic linking optimisations on OS X
242Simon Marlow <marlowsd@gmail.com>**20100705103014
243 Ignore-this: b04420d3705c51112797758d17b2e40c
244 To improve performance of the RTS when dynamically linked on x86, I
245 previously disabled -fPIC for certain critical modules (the GC, and a
246 few others).  However, build reports suggest that the dynamic linker
247 on OS X doesn't like this, so I'm disabling this optimsation on that
248 platform.
249]
250[trac #2362 (full import syntax in ghci)
251amsay@amsay.net**20100625032632
252 Ignore-this: a9d0859d84956beb74e27b797431bf9c
253 'import' syntax is seperate from ':module' syntax
254]
255[Simplify ghc-pkg's Cabal dependencies
256Ian Lynagh <igloo@earth.li>**20100704184155
257 We no longer support building with a compiler that doesn't come with
258 base 4.
259]
260[Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156
261Ian Lynagh <igloo@earth.li>**20100704132612]
262[Remove dead code (standalone deriving flag no longer used in parser)
263Ian Lynagh <igloo@earth.li>**20100701162058]
264[LLVM: Use the inbounds keyword for getelementptr instructions.
265David Terei <davidterei@gmail.com>**20100702160511
266 Ignore-this: 3708e658a4c82b78b1402393f4405541
267]
268[threadPaused: fix pointer arithmetic
269Simon Marlow <marlowsd@gmail.com>**20100701085046
270 Ignore-this: b78210e5d978f18ffd235f1c78a55a23
271 Noticed by Henrique Ferreiro <hferreiro@udc.es>, thanks!
272]
273[LLVM: Change more operations to use getelementptr
274David Terei <davidterei@gmail.com>**20100701161856
275 Ignore-this: fb24eb124e203f50680c6fec3ff9fe7d
276]
277[Add the haskell2010 package
278Simon Marlow <marlowsd@gmail.com>**20100630125532
279 Ignore-this: e9b011313f283a8ff2fcda7d029a01f
280]
281[LLVM: Use getelementptr instruction for a lot of situations
282David Terei <davidterei@gmail.com>**20100630181157
283 Ignore-this: 34d314dd8dffad9bdcffdc525261a49d
284 
285 LLVM supports creating pointers in two ways, firstly through
286 pointer arithmetic (by casting between pointers and ints)
287 and secondly using the getelementptr instruction. The second way
288 is preferable as it gives LLVM more information to work with.
289 
290 This patch changes a lot of pointer related code from the first
291 method to the getelementptr method.
292]
293[remove out of date comments; point to the wiki
294Simon Marlow <marlowsd@gmail.com>**20100625100313
295 Ignore-this: 95f363a373534b9471b1818102ec592d
296]
297[NCG: allocatableRegs is only giving us 8 SSE regs to allocate to
298benl@ouroborus.net**20100629054321
299 Ignore-this: b3e0fa0b4ce988a0258dc12261989ee0
300]
301[LLVM: Use intrinsic functions for pow, sqrt, sin, cos
302David Terei <davidterei@gmail.com>**20100628182949
303 Ignore-this: 98a0befaca3fe2b36d710d8ff9f062c4
304 
305 Instead of calling the C library for these Cmm functions
306 we use intrinsic functions provided by llvm. LLVM will
307 then either create a compile time constant if possible, or
308 use a cpu instruction or as a last resort call the C
309 library.
310]
311[LLVM: Fix test '2047' under linux-x64
312David Terei <davidterei@gmail.com>**20100628165256
313 Ignore-this: 41735d4f431a430db636621650ccd71e
314]
315[LLVM: Fix test 'ffi005' under linux-x64
316David Terei <davidterei@gmail.com>**20100628155355
317 Ignore-this: 841f3142c63cc898ac4c3f89698a837e
318]
319[LLVM: Update to use new fp ops introduced in 2.7
320David Terei <davidterei@gmail.com>**20100628144037
321 Ignore-this: 5dd2e5964e3c039d297ed586841e706b
322]
323[Add noalias and nocapture attributes to pointer stg registers
324David Terei <davidterei@gmail.com>**20100628115120
325 Ignore-this: 492a1e723cb3a62498d240d7de92dd7
326 
327 At the moment this gives a very slight performance boost of around 1 - 2%.
328 Future changes to the generated code though so that pointers are kept as
329 pointers more often instead of being cast to integer types straight away
330 should hopefully improve the benefit this brings.
331 
332]
333[during shutdown, only free the heap if we waited for foreign calls to exit
334Simon Marlow <marlowsd@gmail.com>**20100628090536
335 Ignore-this: d545384a4f641d701455d08ef1217479
336]
337[Fix typo in -ddump-pass's document.
338shelarcy <shelarcy@gmail.com>**20100620070759
339 Ignore-this: f4f1ddb53f147949e948147d89190c37
340]
341[Add #undefs for posix source symbols when including papi.h
342dmp@rice.edu**20100624163514
343 Ignore-this: 8a1cba21b880d12a75a75f7e96882053
344 
345 Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi  = YES
346 in validate.mk).  The problem is that the posix symbols are defined by a header
347 included from papi.h. Compilation then fails because these symbols are
348 redefined in PosixSource.h.
349 
350 This patch adds an undefine for the posix symbols after including papi.h and
351 before including PosixSource.h. The #undefines are localized to Papi.c since
352 that is the only case where they are getting defined twice.
353]
354[Use machdepCCOpts in runPhase_MoveBinary; fixes trac #3952
355Ian Lynagh <igloo@earth.li>**20100625220953]
356[LLVM: Fix bug with calling tail with empty list
357David Terei <davidterei@gmail.com>**20100625115729
358 Ignore-this: 46b4b32c8d92372a2d49794a96fe1613
359]
360[Fix warnings
361benl@ouroborus.net**20100624091339
362 Ignore-this: 5ba4bbd6abb9c9d1fb8c5d21ab73f218
363]
364[NCG: Comments and formatting only
365benl@ouroborus.net**20100624083121
366 Ignore-this: 86002e72c30d06bcc876d8c49f4caa5a
367]
368[NCG: Do the actual reversing of SCCs
369benl@ouroborus.net**20100624082717
370 Ignore-this: 12d2027ea118e751fbb48b27126150ef
371]
372[NCG: Fix dumping of graphs in regalloc stats for graph allocator
373benl@ouroborus.net**20100624082625
374 Ignore-this: 2b971bc9e0318099a9afb0e0db135730
375]
376[NCG: Reverse SCCs after each round in the graph allocator
377benl@ouroborus.net**20100624082437
378 Ignore-this: f0152e4039d6f16f7b5a99b286538116
379]
380[NCG: Don't actually complain on unreachable code blocks
381benl@ouroborus.net**20100624081445
382 Ignore-this: e7335ae6120917cb858c38c7c6da8e24
383]
384[NCG: Do explicit check for precondition of computeLiveness
385benl@ouroborus.net**20100624080747
386 Ignore-this: e7053c4e5e4c3c746b5ebf016913424a
387 
388  computeLiveness requires the SCCs of blocks to be in reverse dependent
389  order, and if they're not it was silently giving bad liveness info,
390  yielding a bad allocation.
391 
392  Now it complains, loudly.
393]
394[NCG: Fix off-by-one error in realRegSqueeze
395benl@ouroborus.net**20100623095813
396 Ignore-this: ab0698686d4c250da8e207f734f8252d
397]
398[NCG: Handle stripping of liveness info from procs with no blocks (like stg_split_marker)
399benl@ouroborus.net**20100623091209
400 Ignore-this: c0319b6cc62ec713afe4eb03790406e3
401]
402[NCG: Emit a warning on unreachable code block instead of panicing
403benl@ouroborus.net**20100623085002
404 Ignore-this: d20314b79e3c31e764ed4cd97290c696
405]
406[NCG: Remember to keep the entry block first when erasing liveness info
407Ben.Lippmeier@anu.edu.au**20090917104429
408 Ignore-this: 1b0c1df19d622858d50ffb6a01f2cef0
409]
410[NCG: Refactor representation of code with liveness info
411Ben.Lippmeier@anu.edu.au**20090917090730
412 Ignore-this: 2aebb3b02ebd92e547c5abad9feb0f0d
413 
414  * I've pushed the SPILL and RELOAD instrs down into the
415    LiveInstr type to make them easier to work with.
416 
417  * When the graph allocator does a spill cycle it now just
418    re-annotates the LiveCmmTops instead of converting them
419    to NatCmmTops and back.
420 
421  * This saves working out the SCCS again, and avoids rewriting
422    the SPILL and RELOAD meta instructions into real machine
423    instructions.
424]
425[NCG: Add sanity checking to linear allocator
426Ben.Lippmeier@anu.edu.au**20090917090335
427 Ignore-this: 5a442be8b5087d04bc8b58dffa9ea080
428 If there are are unreachable basic blocks in the native code then the
429 linear allocator might loop. Detect this case and panic instead.
430]
431[NCG: Refactor LiveCmmTop to hold a list of SCCs instead of abusing ListGraph
432Ben.Lippmeier@anu.edu.au**20090917060332
433 Ignore-this: 3fec8d69ed0f760e53a202f873d5d9cb
434]
435[NCG: Allow the liveness map in a LiveInfo to be Nothing
436Ben.Lippmeier@anu.edu.au**20090917043937
437 Ignore-this: 5f82422d54d1b0ffc0589eb7e82fb7a4
438]
439[NCG: Also show the result of applying coalesings with -ddump-asm-regalloc-stages
440Ben.Lippmeier.anu.edu.au**20090917034427
441 Ignore-this: 76bd6d5ca43adb2167cb25832cbaa80b
442]
443[Fix panic when running "ghc -H"; trac #3364
444Ian Lynagh <igloo@earth.li>**20100624234011
445 The problem is that showing SDoc's looks at the static flags global
446 variables, but those are panics while we are parsing the static flags.
447 We work around this by explicitly using a fixed prettyprinter style.
448]
449[Allow for stg registers to have pointer type in llvm BE.
450David Terei <davidterei@gmail.com>**20100621175839
451 Ignore-this: fc09b1a8314aef0bde945c77af1124fb
452 
453 Before all the stg registers were simply a bit type or
454 floating point type but now they can be declared to have
455 a pointer type to one of these. This will allow various
456 optimisations in the future in llvm since the type is
457 more accurate.
458]
459[Add support for parameter attributes to the llvm BE binding
460David Terei <davidterei@gmail.com>**20100624111744
461 Ignore-this: 77f3c0c7bf8f81c4a154dc835ae7bcba
462 
463 These allow annotations of the code produced by the backend
464 which should bring some perforamnce gains. At the moment
465 the attributes aren't being used though.
466]
467[Cast some more nats to StgWord to be on the safe side
468Simon Marlow <marlowsd@gmail.com>**20100624105700
469 Ignore-this: e6176683856f9872fdeb2358bb065bb8
470 And add a comment about the dangers of int overflow
471]
472[comments only
473Simon Marlow <marlowsd@gmail.com>**20100624105105
474 Ignore-this: fc8f762f4c3a5ffca2f8da2bc63ac2a4
475]
476[Fix an arithmetic overflow bug causing crashes with multi-GB heaps
477Simon Marlow <marlowsd@gmail.com>**20100624104654
478 Ignore-this: 67210755aa098740ff5230347be0fd5d
479]
480[Add support for collecting PAPI native events
481dmp@rice.edu**20100622195953
482 Ignore-this: 7269f9c4dfb2912a024eb632200fcd1
483 
484 This patch extends the PAPI support in the RTS to allow collection of native
485 events. PAPI can collect data for native events that are exposed by the
486 hardware beyond the PAPI present events. The native events supported on your
487 hardware can found by using the papi_native_avail tool.
488 
489 The RTS already allows users to specify PAPI preset events from the command
490 line. This patch extends that support to allow users to specify native events.
491 The changes needed are:
492 
493 1) New option (#) for the RTS PAPI flag for native events. For example, to
494    collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr
495 
496 2) Update the PAPI_FLAGS struct to store whether the user specified event is a
497    papi preset or a native event
498 
499 3) Update init_countable_events function to add the native events after parsing
500    the event code and decoding the name using PAPI_event_code_to_name
501 
502]
503[Don't warn about unused bindings with parents in .hs-boot files; trac #3449
504Ian Lynagh <igloo@earth.li>**20100624110351]
505[fix the home_imps filter to allow for 'import "this" <module>'
506Simon Marlow <marlowsd@gmail.com>**20100621125535
507 Ignore-this: da4e605b0513afc32a4e7caa921a2c76
508 In the PackageImports extension, import "this" means "import from the
509 current package".
510]
511[Use the standard C wrapper code for the ghc-$version.exe wrapper
512Ian Lynagh <igloo@earth.li>**20100622202859
513 Ignore-this: 60cd3e6db3afb63e6ba9e2db3b033580
514]
515[Don't rely on "-packagefoo" working; use "-package foo" instead
516Ian Lynagh <igloo@earth.li>**20100622202547]
517[Remove unnecessary C #includes
518Ian Lynagh <igloo@earth.li>**20100622172919]
519[Make the ghci.exe wrapper call the right ghc.exe
520Ian Lynagh <igloo@earth.li>**20100622172247]
521[More updates to datalayout description in llvm BE
522David Terei <davidterei@gmail.com>**20100622165339
523 Ignore-this: b0c604fe7673b0aa7c7064694d574437
524]
525[Remove LlvmAs phase as the llvm opt tool now handles this phase
526David Terei <davidterei@gmail.com>**20100622144044
527 Ignore-this: b9fd8f959702b6af014e2fa654bede3
528 
529 This phase originally invoked the llvm-as tool that turns a textual
530 llvm assembly file into a bit code file for the rest of llvm to deal
531 with. Now the llvm opt tool can do this itself, so we don't need to
532 use llvm-as anymore.
533]
534[Update datalayout info in llvm BE
535David Terei <davidterei@gmail.com>**20100622123457
536 Ignore-this: 89b043d211225dcd819f30549afe1840
537]
538[Fix handling of float literals in llvm BE
539David Terei <davidterei@gmail.com>**20100622121642
540 Ignore-this: a3b5f382ad4b5a426ad4b581664506fa
541]
542[Declare some top level globals to be constant when appropriate
543David Terei <davidterei@gmail.com>**20100621174954
544 Ignore-this: 44832f65550d4f995d11c01cc1affef5
545 
546 This involved removing the old constant handling mechanism
547 which was fairly hard to use. Now being constant or not is
548 simply a property of a global variable instead of a separate
549 type.
550]
551[Reduce the number of passes over the cmm in llvm BE
552David Terei <davidterei@gmail.com>**20100621125220
553 Ignore-this: cb2f4e54e8d0f982d5087fbeee35c73c
554]
555[Fix negate op not working for -0 in llvm backend
556David Terei <davidterei@gmail.com>**20100621123606
557 Ignore-this: c5d76e5cffa781fed074137851b1347f
558]
559[ROLLBACK: picCCOpts: -dynamic should not entail -optc-fPIC
560Simon Marlow <marlowsd@gmail.com>**20100621100409
561 Ignore-this: f2fac7df33d3919199befc59bd455414
562 and add a comment to explain why it was wrong.  This fixes the dyn
563 test failures that sprang up recently.
564]
565[Check files are really created in libffi
566Ian Lynagh <igloo@earth.li>**20100620163724
567 when we think that the libffi build creates them, so they just depend
568 on the libffi build stamp.
569]
570[Improve the missing-import-list warning
571Ian Lynagh <igloo@earth.li>**20100620124320
572 Ignore-this: 551e5fdf2dfb56b49d249e0cebaa6115
573]
574[Tweak missing-import-list warning
575Ian Lynagh <igloo@earth.li>**20100620122622
576 Ignore-this: 360cdf59ae13d66ded181129325506c4
577]
578[trac #1789 (warnings for missing import lists)
579amsay@amsay.net**20100618150649
580 Ignore-this: b0b0b1e048fbca0817c1e6fade1153fa
581]
582[Refix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
583Ian Lynagh <igloo@earth.li>**20100620103749]
584[Remove some old commented out code
585Ian Lynagh <igloo@earth.li>**20100620000459]
586[SET_ARR_HDR's last argument is now a number of bytes, rather than words
587Ian Lynagh <igloo@earth.li>**20100619235214
588 This avoids unnecessary work and potential loss of information
589]
590[Replace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS
591Ian Lynagh <igloo@earth.li>**20100619234310]
592[FIX #38000 Store StgArrWords payload size in bytes
593Antoine Latter <aslatter@gmail.com>**20100101183346
594 Ignore-this: 7bf3ab4fc080c46311fc10b179361bb6
595]
596[Add win32 datalayout support to llvm backend
597David Terei <davidterei@gmail.com>**20100618131733
598 Ignore-this: 4b7bffaa8ef38c628ab852c1a6c1c009
599]
600[Remove unused 'ddump-opt-llvm' flag
601David Terei <davidterei@gmail.com>**20100618101237
602 Ignore-this: f78467496d986897e49d82646ee2907e
603]
604[generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC
605Simon Marlow <marlowsd@gmail.com>**20100618082258
606 Ignore-this: a25567ebff9f575303ddc8f2deafebbf
607]
608[joinToTargets: fix a case of panic "handleComponent cyclic"
609Simon Marlow <marlowsd@gmail.com>**20100618082147
610 Ignore-this: 765baeefbb5a41724004acd92405cecc
611]
612[comment typo
613Simon Marlow <marlowsd@gmail.com>**20100618082102
614 Ignore-this: e495610b7dd5ec30b02938638b56cb7
615]
616[Add support of TNTC to llvm backend
617David Terei <davidterei@gmail.com>**20100618093205
618 Ignore-this: 2c27d21668374a5b0d5e844882c69439
619 
620 We do this through a gnu as feature called subsections,
621 where you can put data/code into a numbered subsection
622 and those subsections will be joined together in descending
623 order by gas at compile time.
624]
625[Don't automatically insert a -fvia-C flag in an unregisterised compiler
626Ian Lynagh <igloo@earth.li>**20100617190901
627 Ignore-this: eb25a9a338fade9e17c153da7c5f27e9
628 The default object mode is already HscC, so it's unnecessary, and
629 -fvia-C generates a deprecated flag warning now.
630]
631[In PosixSource.h, conditionally define things based on platform
632Ian Lynagh <igloo@earth.li>**20100617174912
633 This may not be ideal, but it should get GHC building on all platforms
634 again.
635]
636[disable -fPIC for the GC for performance reasons
637Simon Marlow <marlowsd@gmail.com>**20100617140025
638 Ignore-this: c7c152bbff71ef7891eaee8ff39fc281
639 see comment for details
640]
641[picCCOpts: -dynamic should not entail -optc-fPIC
642Simon Marlow <marlowsd@gmail.com>**20100617115259
643 Ignore-this: d71e42bd56e4bd107d2c431b801855e5
644]
645[Make getAllocations() visible
646Simon Marlow <marlowsd@gmail.com>**20100617113259
647 Ignore-this: 1b7fb38a01358c0acbe8987df07d23f2
648]
649[Fix the symbol visibility pragmas
650Simon Marlow <marlowsd@gmail.com>**20100617105758
651 Ignore-this: 76552500865473a1dbebbc1cc2def9f0
652]
653[pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package
654Simon Marlow <marlowsd@gmail.com>**20100616124718
655 Ignore-this: afb56d5560c813051285607fefb15493
656]
657[Fix bindisttest Makefile
658Ian Lynagh <igloo@earth.li>**20100616205611
659 Ignore-this: 39cd352152422f378572fc3859c5a377
660]
661[Remove some more unused make variables
662Ian Lynagh <igloo@earth.li>**20100616180519]
663[Convert some more variable names to FOO_CMD, for consistency
664Ian Lynagh <igloo@earth.li>**20100616175916]
665[Rename some variables from FOO to FOO_CMD
666Ian Lynagh <igloo@earth.li>**20100616161108
667 This fixes a problem with commands like gzip, where if $GZIP is exported
668 in the environment, then when make runs a command it'll put the Makefile
669 variable's value in the environment. But gzip treats $GZIP as arguments
670 for itself, so when we run gzip it thinks we're giving it "gzip" as an
671 argument.
672]
673[Make the "show" target work anywhere in the build tree
674Ian Lynagh <igloo@earth.li>**20100616122910
675 Ignore-this: 299d40cbe16112accd9f14e56fa12158
676]
677[Change ghc-pwd's license to a string Cabal recognises
678Ian Lynagh <igloo@earth.li>**20100615204015
679 Ignore-this: c935b6ad7f605aab0168997a90b40fc6
680]
681[fix warning
682Simon Marlow <marlowsd@gmail.com>**20100604205933
683 Ignore-this: 2aaa4ed6a8b9ae1e39adc4696aaf14a3
684]
685[--install-signal-handles=no does not affect the timer signal (#1908)
686Simon Marlow <marlowsd@gmail.com>**20100527214627
687 Ignore-this: b0c51f1abdb159dc360662485095a11a
688]
689[Small optimisation: allocate nursery blocks contiguously
690Simon Marlow <marlowsd@gmail.com>**20100509194928
691 Ignore-this: e650e99e9ea9493d2efb245d565beef4
692 This lets automatic prefetching work better, for a tiny performance boost
693]
694[fix -fforce-recomp setting: module is PrimOp, not PrimOps
695Simon Marlow <marlowsd@gmail.com>**20100507084507
696 Ignore-this: f76e0d9b643682ec0e8fb7d91afdea68
697]
698[it should be an error to use relative directories (#4134)
699Simon Marlow <marlowsd@gmail.com>**20100615151740
700 Ignore-this: 2068021701832e018ca41b22877921d5
701]
702[missing include-dirs or library-dirs is only a warning now (#4104)
703Simon Marlow <marlowsd@gmail.com>**20100615151702
704 Ignore-this: e3114123cef147bbd28ccb64581a1afb
705]
706[fix #3822: desugaring case command in arrow notation
707Ross Paterson <ross@soi.city.ac.uk>**20100615225110
708 Ignore-this: 477d6c460b4174b94b4cd113fa5b9d19
709 
710 Get the set of free variables from the generated case expression:
711 includes variables in the guards and decls that were missed before,
712 and is also a bit simpler.
713]
714[Deprecate the -fvia-C flag; trac #3232
715Ian Lynagh <igloo@earth.li>**20100615151836
716 Ignore-this: c2452b2648bf7e44546465c1b964fce
717]
718[Avoid using the new ~~ perl operator in the mangler
719Ian Lynagh <igloo@earth.li>**20100615151236
720 Ignore-this: 709a7ba4e514b1596841b3ba7e5c6cc
721]
722[stmAddInvariantToCheck: add missing init of invariant->lock (#4057)
723Simon Marlow <marlowsd@gmail.com>**20100615123643
724 Ignore-this: 3b132547fa934cecf71a846db2a5f70e
725]
726[Add new LLVM code generator to GHC. (Version 2)
727David Terei <davidterei@gmail.com>**20100615094714
728 Ignore-this: 4dd2fe5854b64a3f0339d484fd5c238
729 
730 This was done as part of an honours thesis at UNSW, the paper describing the
731 work and results can be found at:
732 
733 http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf
734 
735 A Homepage for the backend can be found at:
736 
737 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM
738 
739 Quick summary of performance is that for the 'nofib' benchmark suite, runtimes
740 are within 5% slower than the NCG and generally better than the C code
741 generator.  For some code though, such as the DPH projects benchmark, the LLVM
742 code generator outperforms the NCG and C code generator by about a 25%
743 reduction in run times.
744 
745]
746[Fix Trac #4127: build GlobalRdrEnv in GHCi correctly
747simonpj@microsoft.com**20100615070626
748 Ignore-this: d907e3bfa7882878cea0af172aaf6e84
749 
750 GHCi was building its GlobalRdrEnv wrongly, so that the
751 gre_par field was bogus.  That in turn fooled the renamer.
752 The fix is easy: use the right function!  Namely, call
753 RnNames.gresFromAvail rather than availsToNameSet.
754]
755[Comments, and improvement to pretty-printing of HsGroup
756simonpj@microsoft.com**20100615070409
757 Ignore-this: ec8358f2485370b20226a97ec84e9024
758]
759[Don't reverse bindings in rnMethodBinds (fix Trac #4126)
760simonpj@microsoft.com**20100614163935
761 Ignore-this: a6ffbb5af6f51b142ed0aeae8ee5e3a9
762]
763[Fix Trac #4120: generate a proper coercion when unifying forall types
764simonpj@microsoft.com**20100614134311
765 Ignore-this: 601592bb505305f1954cbe730f168da4
766 
767 This was just a blatant omission, which hasn't come up before.
768 Easily fixed, happily.
769]
770[Use mkFunTy to ensure that invariants are respected
771simonpj@microsoft.com**20100614134159
772 Ignore-this: 67dcada7a4e8d9927581cd77af71b6f
773]
774[Remove redundant debug code
775simonpj@microsoft.com**20100601154151
776 Ignore-this: e6ff11c04c631cf6aac73788cbcf02b5
777]
778[Fix Trac #4099: better error message for type functions
779simonpj@microsoft.com**20100531140413
780 Ignore-this: 3f53ca98cf770577818b9c0937482577
781 
782 Now we only want about "T is a type function and might not be
783 injective" when matchin (T x) against (T y), which is the case
784 that is really confusing.
785]
786[Gruesome fix in CorePrep to fix embarassing Trac #4121
787simonpj@microsoft.com**20100614132726
788 Ignore-this: fe82d15474afaac3e6133adfd7a7e055
789 
790 This is a long-lurking bug that has been flushed into
791 the open by other arity-related changes.  There's a
792 long comment
793 
794      Note [CafInfo and floating]
795 
796 to explain. 
797 
798 I really hate the contortions we have to do through to keep correct
799 CafRef information on top-level binders.  The Right Thing, I believe,
800 is to compute CAF and arity information later, and merge it into the
801 interface-file information when the latter is generated.
802 
803 But for now, this hackily fixes the problem.
804]
805[Fix a bug in CorePrep that meant output invariants not satisfied
806simonpj@microsoft.com**20100531150013
807 Ignore-this: d34eb36d8877d3caf1cf2b20de426abd
808 
809 In cpePair I did things in the wrong order so that something that
810 should have been a CprRhs wasn't.  Result: a crash in CoreToStg.
811 Fix is easy, and I added more informative type signatures too.
812]
813[Robustify the treatement of DFunUnfolding
814simonpj@microsoft.com**20100531145332
815 Ignore-this: 8f5506ada4d89f6ab8ad1e8c3ffb09ba
816 
817 See Note [DFun unfoldings] in CoreSyn.  The issue here is that
818 you can't tell how many dictionary arguments a DFun needs just
819 from looking at the Arity of the DFun Id: if the dictionary is
820 represented by a newtype the arity might include the dictionary
821 and value arguments of the (single) method.
822 
823 So we need to record the number of arguments need by the DFun
824 in the DFunUnfolding itself.  Details in
825    Note [DFun unfoldings] in CoreSyn
826]
827[Fix spelling in comment
828simonpj@microsoft.com**20100614132259
829 Ignore-this: bbf0d55f2e5f10ef9c74592c12f9201c
830]
831[Update docs on view patterns
832simonpj@microsoft.com**20100614074801
833 Ignore-this: 8617b9078800d4942d71f142a5b6c831
834]
835[Fix printing of splices; part of #4124
836Ian Lynagh <igloo@earth.li>**20100613154838
837 Just putting parens around non-atomic expressions isn't sufficient
838 for splices, as only the $x and $(e) forms are valid input.
839]
840[In ghci, catch IO exceptions when calling canonicalizePath
841Ian Lynagh <igloo@earth.li>**20100613134627
842 We now get an exception if the path doesn't exist
843]
844[Whitespace only
845Ian Lynagh <igloo@earth.li>**20100612213119]
846[Whitespace only
847Ian Lynagh <igloo@earth.li>**20100612165450]
848[Update ghci example output in user guide; patch from YitzGale in #4111
849Ian Lynagh <igloo@earth.li>**20100612162250]
850[Fix #4131 missing UNTAG_CLOSURE in messageBlackHole()
851benl@ouroborus.net**20100611044614]
852[messageBlackHole: fix deadlock bug caused by a missing 'volatile'
853Simon Marlow <marlowsd@gmail.com>**20100610080636
854 Ignore-this: 3cda3054bb45408aa9bd2d794b69c938
855]
856[Pass --no-tmp-comp-dir to Haddock (see comment)
857Simon Marlow <marlowsd@gmail.com>**20100604083214
858 Ignore-this: bfa4d74038637bd149f4d878b4eb8a87
859]
860[Track changes to DPH libs
861Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607052903
862 Ignore-this: 4dbc3f8418af3e74b3fc4f9a9dfe7764
863]
864[Track changes to DPH libs
865Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607012642
866 Ignore-this: 5d4e498171a3c57ab02621bfaea82cff
867]
868[In ghc-pkg, send warnings to stderr
869Ian Lynagh <igloo@earth.li>**20100606161726
870 Ignore-this: 56927d13b5e1c1ce2752734f0f9b665b
871]
872[Re-add newlines to enable layout for multi-line input.
873Ian Lynagh <igloo@earth.li>**20100602180737
874 Patch from Adam Vogt <vogt.adam@gmail.com>
875 Partial fix for #3984
876]
877[Don't use unnecessary parens when printing types (Fix Trac 4107)
878simonpj@microsoft.com**20100604110143
879 Ignore-this: a833714ab13013c4345b222f4e87db1d
880 
881    f :: Eq a => a -> a
882 rather than
883    f :: (Eq a) => a -> a
884]
885[Track DPH library changes
886Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005728
887 Ignore-this: 32bc2fbea6ad975e89545d4c42fd7c30
888]
889[fix --source-entity option passed to Haddock: we needed to escape a #
890Simon Marlow <marlowsd@gmail.com>**20100603125459
891 Ignore-this: d52ae6188b510c482bcebb23f0e553ae
892]
893[__stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)
894Simon Marlow <marlowsd@gmail.com>**20100602091419
895 Ignore-this: 293315ac8f86fd366b8d61992ecc7961
896]
897[Add xhtml package (a new dependency of Haddock; not installed/shipped)
898Simon Marlow <marlowsd@gmail.com>**20100602090101
899 Ignore-this: af0ac8b91abe98f7fdb624ea0a4dee20
900]
901[Use UserInterrupt rather than our own Interrupted exception (#4100)
902Simon Marlow <marlowsd@gmail.com>**20100602082345
903 Ignore-this: 1909acf2f452593138b9f85024711714
904]
905[Add the global package DB to ghc --info (#4103)
906Simon Marlow <marlowsd@gmail.com>**20100602082233
907 Ignore-this: fd5c0e207e70eb0f62606c45dc5b8124
908]
909[rts/sm/GC.c: resize_generations(): Remove unneeded check of number of generations.
910Marco Túlio Gontijo e Silva <marcot@debian.org>**20100528115612
911 Ignore-this: 6f1bea62917c01c7adac636146132c97
912 
913 This "if" is inside another "if" which checks for RtsFlags.GcFlags.generations
914 > 1, so testing this again is redundant, assuming the number of generations
915 won't change during program execution.
916]
917[rts/sm/BlockAlloc.c: Small comment correction.
918Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205839
919 Ignore-this: bd2fcd4597cc872d80b0e2eeb1c3998a
920]
921[rts/sm/GC.c: Annotate constants.
922Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526205707
923 Ignore-this: f232edb89383564d759ed890a18f602f
924]
925[includes/rts/storage/GC.h: generation_: n_words: Improve comment.
926Marco Túlio Gontijo e Silva <marcot@debian.org>**20100526204615
927 Ignore-this: f5d5feefa8f7b552303978f1804fea23
928]
929[Add PPC_RELOC_LOCAL_SECTDIFF support; patch from PHO in #3654
930Ian Lynagh <igloo@earth.li>**20100601204211
931 Ignore-this: 51293b7041cdce3ce7619ef11cf7ceb
932]
933[powerpc-apple-darwin now supports shared libs
934Ian Lynagh <igloo@earth.li>**20100601173325]
935[PIC support for PowerPC
936pho@cielonegro.org**20100508143900
937 Ignore-this: 3673859a305398c4acae3f4d7c997615
938 
939 PPC.CodeGen.getRegister was not properly handling PicBaseReg.
940 It seems working with this patch, but I'm not sure this change is correct.
941]
942[Vectoriser: only treat a function as scalar if it actually computes something
943Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100601045630
944 Ignore-this: e5d99a6ddb62052e3520094a5af47552
945]
946[Add a release notes file for 6.14.1
947Ian Lynagh <igloo@earth.li>**20100530171117
948 Ignore-this: 1941e6d3d1f4051b69ca2f17a1cf84d6
949]
950[Check dblatex actually creates the files we tell it to
951Ian Lynagh <igloo@earth.li>**20100530171043
952 Ignore-this: ccc72caea2313be05cbac59bb54c0603
953 If it fails, it still exits successfully.
954]
955[Add darwin to the list of OSes for which we use mmap
956Ian Lynagh <igloo@earth.li>**20100529145016
957 Ignore-this: a86d12a3334aaaafc86f7af9dbb0a7ae
958 Patch from Barney Stratford
959]
960[Simplify the CPP logic in rts/Linker.c
961Ian Lynagh <igloo@earth.li>**20100529144929
962 Ignore-this: 1288f5b752cc1ab8b1c90cfd0ecfdf68
963]
964[Fix validate on OS X
965Ian Lynagh <igloo@earth.li>**20100529154726]
966[OS X x86_64 fix from Barney Stratford
967Ian Lynagh <igloo@earth.li>**20100529122440]
968[OS X 64 installer fixes from Barney Stratford
969Ian Lynagh <igloo@earth.li>**20100528234935]
970[fix warning
971Simon Marlow <marlowsd@gmail.com>**20100525155812
972 Ignore-this: f34eee3fe3d89579fd8d381c91ced750
973]
974[Fix doc bugs (#4071)
975Simon Marlow <marlowsd@gmail.com>**20100525155728
976 Ignore-this: aa25be196de567de360075022a1942f7
977]
978[Make sparks into weak pointers (#2185)
979Simon Marlow <marlowsd@gmail.com>**20100525150435
980 Ignore-this: feea0bb5006007b82c932bc3006124d7
981 The new strategies library (parallel-2.0+, preferably 2.2+) is now
982 required for parallel programming, otherwise parallelism will be lost.
983]
984[If you say 'make' or 'make stage=2' here, pretend we're in the ghc dir
985Simon Marlow <marlowsd@gmail.com>**20100525085301
986 Ignore-this: 78b740337aa460915c812cbbcdae5321
987]
988[Another attempt to get these #defines right
989Simon Marlow <marlowsd@gmail.com>**20100525154313
990 Ignore-this: 460ca0c47d81cd25eae6542114f67899
991 Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using
992 _POSIX_C_SOURCE==200112L.
993]
994[Add configure flags for the location of GMP includes/library; fixes #4022
995Ian Lynagh <igloo@earth.li>**20100525221616
996 Ignore-this: fc3060caf995d07274ec975eeefbdf3e
997]
998[Refactor pretty printing of TyThings to fix Trac #4015
999simonpj@microsoft.com**20100525153126
1000 Ignore-this: 8f15053b7554f62caa84201d2e4976d2
1001]
1002[When haddocking, we need the dependencies to have been built
1003Ian Lynagh <igloo@earth.li>**20100525145830
1004 as haddock loads the .hi files with the GHC API.
1005]
1006[Fix profiling output; spotted by jlouis
1007Ian Lynagh <igloo@earth.li>**20100525111217
1008 We were outputing the number of words allocated in a column titled "bytes".
1009]
1010[Improve printing of TyThings; fixes Trac #4087
1011simonpj@microsoft.com**20100525114045
1012 Ignore-this: da2a757a533454bba80b9b77cc5a771
1013]
1014[Spelling in comments
1015simonpj@microsoft.com**20100525114001
1016 Ignore-this: 270f3da655e526cf04e27db7a01e29c0
1017]
1018[Refactor (again) the handling of default methods
1019simonpj@microsoft.com**20100525113910
1020 Ignore-this: 6686f6cdb878d57abf6b49fec64fcbb1
1021 
1022 This patch fixes Trac #4056, by
1023 
1024  a) tidying up the treatment of default method names
1025  b) removing the 'module' argument to newTopSrcBinder
1026 
1027 The details aren't that interesting, but the result
1028 is much tidier. The original bug was a 'nameModule' panic,
1029 caused by trying to find the module of a top-level name.
1030 But TH quotes generate Internal top-level names that don't
1031 have a module, and that is generally a good thing. 
1032 
1033 Fixing that in turn led to the default-method refactoring,
1034 which also makes the Name for a default method be handled
1035 in the same way as other derived names, generated in BuildTyCl
1036 via a call newImplicitBinder.  Hurrah.
1037]
1038[Don't do SpecConstr on NOINLINE things (Trac #4064)
1039simonpj@microsoft.com**20100525112807
1040 Ignore-this: 452be0a2cef0042fb67275c2827b5f72
1041 
1042 Since the RULE from specialising gets the same Activation as
1043 the inlining for the Id itself there's no point in specialising
1044 a NOINLINE thing, because the rule will be permanently switched
1045 off.
1046 
1047 See Note [Transfer activation] in SpecConstr
1048 and Note [Auto-specialisation and RULES] in Specialise.
1049]
1050[Change our #defines to work on FreeBSD too
1051Simon Marlow <marlowsd@gmail.com>**20100524105828
1052 Ignore-this: b23ede46211e67859206c0ec57d6a86f
1053 With glibc, things like _POSIX_C_SOURCE and _ISOC99_SOURCE are
1054 additive, but on FreeBSD they are mutually exclusive.  However, it
1055 turns out we only need to define _POSIX_C_SOURCE and _XOPEN_SOURCE to
1056 get all the C99 stuff we need too, so there's no need for any #ifdefs.
1057 
1058 Submitted by: Gabor PALI <pgj@FreeBSD.org>
1059]
1060[Add a missing UNTAG_CLOSURE, causing bus errors on Sparc
1061Simon Marlow <marlowsd@gmail.com>**20100524105547
1062 Ignore-this: a590b5391d6f05d50c8c088456c3c166
1063 We just about got away with this on x86 which isn't
1064 alignment-sensitive.  The result of the memory load is compared
1065 against a few different values, but there is a fallback case that
1066 happened to be the right thing when the pointer was tagged.  A good
1067 bug to find, nonetheless.
1068]
1069[Add wiki links
1070Simon Marlow <marlowsd@gmail.com>**20100520095953
1071 Ignore-this: c22f126cde166e6207922b2eb51d29e3
1072]
1073[the 'stage=0' trick to disable all compiler builds stopped working; fix it
1074Simon Marlow <marlowsd@gmail.com>**20100520104455
1075 Ignore-this: bb6fae9056471612c8dbf06916188c33
1076]
1077[Comments and formatting only
1078benl@ouroborus.net**20100524014021
1079 Ignore-this: 64579c38154728b632e358bec751cc0b
1080]
1081[Core prettyprinter fixes. Patch from Tim Chevalier. Fixes #4085
1082Ian Lynagh <igloo@earth.li>**20100522225048]
1083[Correct install-name for dynamic Darwin rts
1084pho@cielonegro.org**20100508151155
1085 Ignore-this: 6d31716c8c113dcb46e9cb925c4201df
1086]
1087[Fix the RTS debug_p build
1088Ian Lynagh <igloo@earth.li>**20100522163127]
1089[Unset $CFLAGS for "GNU non-executable stack" configure test; fixes #3889
1090Ian Lynagh <igloo@earth.li>**20100521165005
1091 With gcc 4.4 we get
1092     Error: can't resolve `.note.GNU-stack' {.note.GNU-stack section} - `.Ltext0' {.text section}
1093 when running gcc with the -g flag. To work around this we unset
1094 CFLAGS when running the test.
1095]
1096[Don't run "set -o igncr" before configuring libffi
1097Ian Lynagh <igloo@earth.li>**20100520162918
1098 Ignore-this: 489fa94df23f2adf4ff63c8ede2c0794
1099 It used to make the build work on cygwin, but now it breaks it instead:
1100     config.status: creating include/Makefile
1101     gawk: ./confLqjohp/subs.awk:1: BEGIN {\r
1102     gawk: ./confLqjohp/subs.awk:1: ^ backslash not last character on line
1103     config.status: error: could not create include/Makefile
1104     make[2]: *** [libffi/stamp.ffi.configure-shared] Error 1
1105     make[1]: *** [all] Error 2
1106]
1107[Stop passing -Wl,-macosx_version_min to gcc
1108Ian Lynagh <igloo@earth.li>**20100520154003
1109 Fixes a build failure on OS X 10.6. When linking
1110     rts/dist/build/libHSrts-ghc6.13.20100519.dylib
1111 we got
1112     ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o)
1113     collect2: ld returned 1 exit status
1114]
1115[Fix build on FreeBSD; patch from Gabor PALI
1116Ian Lynagh <igloo@earth.li>**20100519140552]
1117[Fix package shadowing order (#4072)
1118Simon Marlow <marlowsd@gmail.com>**20100519104617
1119 Ignore-this: 26ea5e4bb5dff18618b807a54c7d6ebb
1120 
1121 Later packages are supposed to shadow earlier ones in the stack,
1122 unless the ordering is overriden with -package-id flags.
1123 Unfortunately an earlier fix for something else had sorted the list of
1124 packages so that it was in lexicographic order by installedPackageId,
1125 and sadly our test (cabal/shadow) didn't pick this up because the
1126 lexicographic ordering happened to work for the test.  I've now fixed
1127 the test so it tries both orderings.
1128]
1129[Set more env variables when configuring libffi
1130Ian Lynagh <igloo@earth.li>**20100518185014
1131 We now tell it where to find ld, nm and ar
1132]
1133[Set the location of ar to be the in-tree ar on Windows
1134Ian Lynagh <igloo@earth.li>**20100518181556]
1135[Change another / to </> to avoid building paths containing \/
1136Ian Lynagh <igloo@earth.li>**20100518172015
1137 This will hopefully fix #2889.
1138]
1139[Fix #4074 (I hope).
1140Simon Marlow <marlowsd@gmail.com>**20100518113214
1141 Ignore-this: 73cd70f5bc6f5add5247b61985c03fc1
1142 
1143 1. allow multiple threads to call startTimer()/stopTimer() pairs
1144 2. disable the timer around fork() in forkProcess()
1145 
1146 A corresponding change to the process package is required.
1147]
1148[we don't have a gcc-lib in LIB_DIR any more
1149Simon Marlow <marlowsd@gmail.com>**20100401102351
1150 Ignore-this: f41acd2d8f8e6763aa8bd57a0b44a7e4
1151]
1152[In validate, use gmake if available; based on a patch from Gabor PALI
1153Ian Lynagh <igloo@earth.li>**20100517200654]
1154[Remove duplicate "./configure --help" output; fixes #4075
1155Ian Lynagh <igloo@earth.li>**20100516141206]
1156[Update various 'sh boot's to 'perl boot'
1157Ian Lynagh <igloo@earth.li>**20100516122609
1158 Spotted by Marco Túlio Gontijo e Silva
1159]
1160[add missing initialisation for eventBufMutex
1161Simon Marlow <marlowsd@gmail.com>**20100514094943
1162 Ignore-this: 7f75594a8cb54fbec5aebd46bb959f45
1163]
1164[Undo part of #4003 patch
1165Simon Marlow <marlowsd@gmail.com>**20100513142017
1166 Ignore-this: cb65db86a38a7e5ccee9f779e489d104
1167 We still need the workaround for when compiling HEAD with 6.12.2
1168 
1169]
1170[Fix makefile loop (#4050)
1171pho@cielonegro.org**20100507140707
1172 Ignore-this: 3a1cb13d0600977e74d17ac26cbef83d
1173 
1174 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.
1175]
1176[fix !TABLES_NEXT_TO_CODE
1177Simon Marlow <marlowsd@gmail.com>**20100510151934
1178 Ignore-this: fccb859b114bef1c3122c98e60af51
1179]
1180[looksLikeModuleName: allow apostrophe in module names (#4051)
1181Simon Marlow <marlowsd@gmail.com>**20100510094741
1182 Ignore-this: df9348f3ba90608bec57257b47672985
1183]
1184[add the proper library dependencies for GhcProfiled=YES
1185Simon Marlow <marlowsd@gmail.com>**20100506122118
1186 Ignore-this: 6236993aa308ab5b5e1e5ea5f65982a
1187]
1188[Fix Trac #4003: fix the knot-tying in checkHiBootIface
1189simonpj@microsoft.com**20100511075026
1190 Ignore-this: a9ce2a318386fdc8782848df84592002
1191 
1192 I had incorrectly "optimised" checkHiBootIface so that it forgot
1193 to update the "knot-tied" type environment.
1194 
1195 This patch fixes the HEAD
1196]
1197[Re-engineer the derived Ord instance generation code (fix Trac #4019)
1198simonpj@microsoft.com**20100510133333
1199 Ignore-this: 8fe46e4dad27fbee211a7928acf372c2
1200   
1201 As well as fixing #4019, I rejigged the way that Ord instances are
1202 generated, which should make them faster in general.  See the
1203 Note [Generating Ord instances].
1204 
1205 I tried to measure the performance difference from this change, but
1206 the #4019 fix only removes one conditional branch per iteration, and
1207 I couldn't measure a consistent improvement.  But still, tihs is
1208 better than before.
1209]
1210[Make arity of INLINE things consistent
1211simonpj@microsoft.com**20100510133005
1212 Ignore-this: 15e7abf803d1dcb3f4ca760d2d939d0d
1213 
1214 We eta-expand things with INLINE pragmas;
1215 see Note [Eta-expanding INLINE things].
1216 
1217 But I eta-expanded it the wrong amount when the function
1218 was overloaded.  Ooops.
1219]
1220[Compacting GC fix, we forgot to thread the new bq field of StgTSO.
1221Simon Marlow <marlowsd@gmail.com>**20100510082325
1222 Ignore-this: a079c8446e2ad53efff6fd95d0f3ac80
1223]
1224[Add version constraints for the boot packages; fixes trac #3852
1225Ian Lynagh <igloo@earth.li>**20100509175051
1226 When using the bootstrapping compiler, we now explicitly constrain
1227 the version of boot packages (Cabal, extensible-exceptions, etc) to the
1228 in-tree version, so that the build system is less fragile should the
1229 user have a newer version installed for the bootstrapping compiler.
1230]
1231[Don't include inter-package dependencies when compiling with stage 0; #4031
1232Ian Lynagh <igloo@earth.li>**20100509130511
1233 This fixes a problem when building with GHC 6.12 on Windows, where
1234 dependencies on stage 0 (bootstrapping compiler) packages have absolute
1235 paths c:/ghc/..., and make gets confused by the colon.
1236]
1237[Add a ghc.mk for bindisttest/
1238Ian Lynagh <igloo@earth.li>**20100508223911]
1239[Move some make variables around so they are available when cleaning
1240Ian Lynagh <igloo@earth.li>**20100508212405]
1241[Optimise checkremove a bit
1242Ian Lynagh <igloo@earth.li>**20100508202006]
1243[Improve the bindisttest Makefile
1244Ian Lynagh <igloo@earth.li>**20100508195450]
1245[Add tools to test that cleaning works properly
1246Ian Lynagh <igloo@earth.li>**20100508194105]
1247[Tweak the ghc-pkg finding code
1248Ian Lynagh <igloo@earth.li>**20100508125815
1249 It now understand the ghc-stage[123] names we use in-tree, and it won't
1250 go looking for any old ghc-pkg if it can't find the one that matches
1251 ghc.
1252]
1253[Add a way to show what cleaning would be done, without actually doing it
1254Ian Lynagh <igloo@earth.li>**20100508122438]
1255[Tidy up the "rm" flags in the build system
1256Ian Lynagh <igloo@earth.li>**20100508115745]
1257[Fix crash in nested callbacks (#4038)
1258Simon Marlow <marlowsd@gmail.com>**20100507093222
1259 Ignore-this: cade85e361534ce711865a4820276388
1260 Broken by "Split part of the Task struct into a separate struct
1261 InCall".
1262]
1263[Add $(GhcDynamic) knob, set to YES to get stage2 linked with -dynamic
1264Simon Marlow <marlowsd@gmail.com>**20100428205241
1265 Ignore-this: 1db8bccf92099785ecac39aebd27c92d
1266 Default currently NO.
1267 
1268 Validate passed with GhcDynamic=YES on x86/Linux here.
1269 
1270 The compiler is currently slower on x86 when linked -dynamic,
1271 because the GC inner loop has been adversely affected by -fPIC, I'm
1272 looking into how to fix it.
1273]
1274[omit "dyn" from the way appended to the __stginit label
1275Simon Marlow <marlowsd@gmail.com>**20100428204914
1276 Ignore-this: 14183f3defa9f2bde68fda6729b740bc
1277 When GHCi is linked dynamically, we still want to be able to load
1278 non-dynamic object files.
1279]
1280[improvements to findPtr(), a neat hack for browsing the heap in gdb
1281Simon Marlow <marlowsd@gmail.com>**20100506115427
1282 Ignore-this: ac57785bb3e13b97a5945f753f068738
1283]
1284[Fix +RTS -G1
1285Simon Marlow <marlowsd@gmail.com>**20100506110739
1286 Ignore-this: 86a5de39a94d3331a4ee1213f82be497
1287]
1288[Enable the "redundant specialise pragmas" warning; fixes trac #3855
1289Ian Lynagh <igloo@earth.li>**20100506175351]
1290[Find the correct external ids when there's a wrapper
1291simonpj@microsoft.com**20100506164135
1292 Ignore-this: 636266407b174b05b2b8646cc73062c0
1293 
1294 We were failing to externalise the wrapper id for a function
1295 that had one.
1296]
1297[Add a comment about pattern coercions
1298simonpj@microsoft.com**20100506164027
1299 Ignore-this: 17428089f3df439f65d892e23e8ed61a
1300]
1301[Comments only
1302simonpj@microsoft.com**20100506163829
1303 Ignore-this: 169167b6463873ab173cc5750c5be469
1304]
1305[Make a missing name in mkUsageInfo into a panic
1306simonpj@microsoft.com**20100506163813
1307 Ignore-this: b82ff1b8bf89f74f146db7cb5cc4c4d7
1308 
1309 We really want to know about this!
1310]
1311[Refactoring of hsXxxBinders
1312simonpj@microsoft.com**20100506163737
1313 Ignore-this: 97c6667625262b160f9746f7bea1c980
1314 
1315 This patch moves various functions that extract the binders
1316 from a HsTyClDecl, HsForeignDecl etc into HsUtils, and gives
1317 them consistent names.
1318]
1319[Fix Trac #3966: warn about useless UNPACK pragmas
1320simonpj@microsoft.com**20100506163337
1321 Ignore-this: 5beb24b686eda6113b614dfac8490df1
1322 
1323 Warning about useless UNPACK pragmas wasn't as easy as I thought.
1324 I did quite a bit of refactoring, which improved the code by refining
1325 the types somewhat.  In particular notice that in DataCon, we have
1326 
1327     dcStrictMarks   :: [HsBang]
1328     dcRepStrictness :: [StrictnessMarks]
1329 
1330 The former relates to the *source-code* annotation, the latter to
1331 GHC's representation choice.
1332]
1333[Make tcg_dus behave more sanely; fixes a mkUsageInfo panic
1334simonpj@microsoft.com**20100506162719
1335 Ignore-this: d000bca15b0e127e297378ded1bfb81b
1336 
1337 The tcg_dus field used to contain *uses* of type and class decls,
1338 but not *defs*.  That was inconsistent, and it really went wrong
1339 for Template Haskell bracket.  What happened was that
1340  foo = [d| data A = A
1341                   f :: A -> A
1342                   f x = x |]
1343 would find a "use" of A when processing the top level of the module,
1344 which in turn led to a mkUsageInfo panic in MkIface.  The cause was
1345 the fact that the tcg_dus for the nested quote didn't have defs for
1346 A.
1347]
1348[Add a HsExplicitFlag to SpliceDecl, to improve Trac #4042
1349simonpj@microsoft.com**20100506161523
1350 Ignore-this: e4e563bac2fd831cc9e94612f5b4fa9d
1351 
1352 The issue here is that
1353 
1354     g :: A -> A
1355     f
1356     data A = A
1357 
1358 is treated as if you'd written $(f); that is the call of
1359 f is a top-level Template Haskell splice.  This patch
1360 makes sure that we *first* check the -XTemplateHaskellFlag
1361 and bleat about a parse error if it's off.  Othewise we
1362 get strange seeing "A is out of scope" errors.
1363]
1364[Change an assert to a warn
1365simonpj@microsoft.com**20100506161111
1366 Ignore-this: 739a4fb4c7940376b0f2c8ad52a1966c
1367 
1368 This is in the constraint simplifier which I'm about
1369 to rewrite, so I'm hoping the assert isn't fatal!
1370]
1371[Tidy up debug print a little
1372simonpj@microsoft.com**20100506161027
1373 Ignore-this: bd5492878e06bee1cddcbb3fc4df66d8
1374]
1375[Remove useless UNPACK pragmas
1376simonpj@microsoft.com**20100506161012
1377 Ignore-this: 3e5ab1a7cf58107034412a798bc214e5
1378]
1379[Add WARNM2 macro, plus some refactoring
1380simonpj@microsoft.com**20100506160808
1381 Ignore-this: 2ab4f1f0b5d94be683036e77aec09255
1382]
1383[Use -Wwarn for the binary package, becuase it has redundant UNPACK pragmas
1384simonpj@microsoft.com**20100506160750
1385 Ignore-this: cf0d3a11473e28bfce9602e716e69a5f
1386]
1387[Fix Trac #3966: warn about unused UNPACK pragmas
1388simonpj@microsoft.com**20100409201812
1389 Ignore-this: c96412596b39c918b5fb9b3c39ce2119
1390]
1391[Fix Trac #3953: fail earlier when using a bogus quasiquoter
1392simonpj@microsoft.com**20100409201748
1393 Ignore-this: ef48e39aa932caed538643985234f043
1394]
1395[Fix Trac #3965: tighten conditions when deriving Data
1396simonpj@microsoft.com**20100409184420
1397 Ignore-this: 96f7d7d2da11565d26b465d7d0497ac9
1398 
1399 It's tricky to set up the context for a Data instance.  I got it wrong
1400 once, and fixed it -- hence the "extra_constraints" in
1401 TcDeriv.inferConstraints. 
1402 
1403 But it still wasn't right!  The tricky bit is that dataCast1 is only
1404 generated when T :: *->*, and dataCast2 when T :: *->*->*. (See
1405 the code in TcGenDeriv for dataCastX.
1406]
1407[Fix Trac #3964: view patterns in DsArrows
1408simonpj@microsoft.com**20100409165557
1409 Ignore-this: d823c182831d5e2e592e995b16180e2f
1410 
1411 Just a missing case; I've eliminated the catch-all so
1412 that we get a warning next time we extend HsPat
1413]
1414[Fix Trac #3955: renamer and type variables
1415simonpj@microsoft.com**20100409163710
1416 Ignore-this: bd5ec64d76c0f583bf5f224792bf294c
1417 
1418 The renamer wasn't computing the free variables of a type declaration
1419 properly.  This patch refactors a bit, and makes it more robust,
1420 fixing #3955 and several other closely-related bugs.  (We were
1421 omitting some free variables and that could just possibly lead to a
1422 usage-version tracking error.
1423]
1424[Layout only
1425simonpj@microsoft.com**20100409163506
1426 Ignore-this: 1f14990b5aa0b9821b84452fb34e9f41
1427]
1428[Give a better deprecated message for INCLUDE pragmas; fixes #3933
1429Ian Lynagh <igloo@earth.li>**20100506130910
1430 We now have a DeprecatedFullText constructor, so we can override the
1431 "-#include is deprecated: " part of the warning.
1432]
1433[De-haddock a comment that confuses haddock
1434Ian Lynagh <igloo@earth.li>**20100506123607]
1435[Fix comment to not confuse haddock
1436Ian Lynagh <igloo@earth.li>**20100506113642]
1437[Detect EOF when trying to parse a string in hp2ps
1438Ian Lynagh <igloo@earth.li>**20100506000830]
1439[Make the demand analyser sdd demands for strict constructors
1440simonpj@microsoft.com**20100505200936
1441 Ignore-this: eb32632adbc354eb7a5cf884c263e0d3
1442 
1443 This opportunity was spotted by Roman, and is documented in
1444 Note [Add demands for strict constructors] in DmdAnal.
1445]
1446[Fix interaction of exprIsCheap and the lone-variable inlining check
1447simonpj@microsoft.com**20100505200723
1448 Ignore-this: f3cb65085c5673a99153d5d7b6559ab1
1449 
1450 See Note [Interaction of exprIsCheap and lone variables] in CoreUnfold
1451 
1452 This buglet meant that a nullary definition with an INLINE pragma
1453 counter-intuitively didn't get inlined at all.  Roman identified
1454 the bug.
1455]
1456[Matching cases in SpecConstr and Rules
1457simonpj@microsoft.com**20100505200543
1458 Ignore-this: f5c28c780fbf8badce84c6fdc9aa1779
1459 
1460 This patch has zero effect.  It includes comments,
1461 a bit of refactoring, and a tiny bit of commment-out
1462 code go implement the "matching cases" idea below.
1463 
1464 In the end I've left it disabled because while I think
1465 it does no harm I don't think it'll do any good either.
1466 But I didn't want to lose the idea totally. There's
1467 a thread called "Storable and constant memory" on
1468 the libraries@haskell.org list (Apr 2010) about it.
1469 
1470 Note [Matching cases]
1471 ~~~~~~~~~~~~~~~~~~~~~
1472 {- NOTE: This idea is currently disabled.  It really only works if
1473          the primops involved are OkForSpeculation, and, since
1474         they have side effects readIntOfAddr and touch are not.
1475         Maybe we'll get back to this later .  -}
1476   
1477 Consider
1478    f (case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
1479       case touch# fp s# of { _ ->
1480       I# n# } } )
1481 This happened in a tight loop generated by stream fusion that
1482 Roman encountered.  We'd like to treat this just like the let
1483 case, because the primops concerned are ok-for-speculation.
1484 That is, we'd like to behave as if it had been
1485    case readIntOffAddr# p# i# realWorld# of { (# s#, n# #) ->
1486    case touch# fp s# of { _ ->
1487    f (I# n# } } )
1488]
1489[Comments only
1490simonpj@microsoft.com**20100504163629
1491 Ignore-this: 3be12df04714aa820bce706b5dc8a9cb
1492]
1493[Comments only
1494simonpj@microsoft.com**20100504163529
1495 Ignore-this: 791e2fd39c7d880ce1dc80ebdf3a5398
1496]
1497[Comments only
1498simonpj@microsoft.com**20100504163457
1499 Ignore-this: f19e9ffeb3d65770b1595bca5f97a59d
1500]
1501[Comments only (about type families)
1502simonpj@microsoft.com**20100417145032
1503 Ignore-this: dd39425ef2155d52dbf55a4d5fd97cb8
1504]
1505[Fix hp2ps when the .hp file has large string literals
1506Ian Lynagh <igloo@earth.li>**20100505191921]
1507[In build system, call package-config after including package data
1508Ian Lynagh <igloo@earth.li>**20100504225035
1509 Otherwise the $1_$2_HC_OPTS variable gets clobbered.
1510]
1511[runghc: flush stdout/stderr on an exception (#3890)
1512Simon Marlow <marlowsd@gmail.com>**20100505133848
1513 Ignore-this: 224c1898cec64cb1c94e0d7033e7590e
1514]
1515[Remove the Unicode alternative for ".." (#3894)
1516Simon Marlow <marlowsd@gmail.com>**20100505121202
1517 Ignore-this: 2452cd67281667106f9169747b6d784f
1518]
1519[tidyup; no functional changes
1520Simon Marlow <marlowsd@gmail.com>**20100505115015
1521 Ignore-this: d0787e5cdeef1dee628682fa0a46019
1522]
1523[Make the running_finalizers flag task-local
1524Simon Marlow <marlowsd@gmail.com>**20100505114947
1525 Ignore-this: 345925d00f1dca203941b3c5d84c90e1
1526 Fixes a bug reported by Lennart Augustsson, whereby we could get an
1527 incorrect error from the RTS about re-entry from a finalizer,
1528]
1529[add a MAYBE_GC() in killThread#, fixes throwto003(threaded2) looping
1530Simon Marlow <marlowsd@gmail.com>**20100505114746
1531 Ignore-this: efea04991d6feed04683a42232fc85da
1532]
1533[Allow filepath-1.2.*
1534Simon Marlow <marlowsd@gmail.com>**20100505101139
1535 Ignore-this: 1b5580cd9cd041ec48f40cd37603326a
1536]
1537[BlockedOnMsgThrowTo is possible in resurrectThreads (#4030)
1538Simon Marlow <marlowsd@gmail.com>**20100505094534
1539 Ignore-this: ac24a22f95ffeaf480187a1620fdddb2
1540]
1541[Don't raise a throwTo when the target is masking and BlockedOnBlackHole
1542Simon Marlow <marlowsd@gmail.com>**20100505094506
1543 Ignore-this: 302616931f61667030d77ddfbb02374e
1544]
1545[Fix build with GHC 6.10
1546Ian Lynagh <igloo@earth.li>**20100504180302
1547 In GHC 6.10, intersectionWith is (a -> b -> a) instead of (a -> b -> c),
1548 so we need to jump through some hoops to get the more general type.
1549]
1550[The libffi patches are no longer needed
1551Ian Lynagh <igloo@earth.li>**20100504171603]
1552[Use the in-tree windres; fixes trac #4032
1553Ian Lynagh <igloo@earth.li>**20100504170941]
1554[Print unfoldings on lambda-bound variables
1555Simon PJ <simonpj@microsoft.com>**20100503181822
1556 Ignore-this: 2fd5a7502cc6273d96258e0914f0f8cd
1557 
1558 ...in the unusual case where they have one;
1559 see Note [Case binders and join points] in Simplify.lhs
1560]
1561[Replace FiniteMap and UniqFM with counterparts from containers.
1562Milan Straka <fox@ucw.cz>**20100503171315
1563 Ignore-this: a021972239163dbf728284b19928cebb
1564 
1565 The original interfaces are kept. There is small performance improvement:
1566 - when compiling for five nofib, we get following speedups:
1567     Average                -----           -2.5%
1568     Average                -----           -0.6%
1569     Average                -----           -0.5%
1570     Average                -----           -5.5%
1571     Average                -----          -10.3%
1572 - when compiling HPC ten times, we get:
1573     switches                          oldmaps   newmaps
1574     -O -fasm                          117.402s  116.081s (98.87%)
1575     -O -fasm -fregs-graph             119.993s  118.735s (98.95%)
1576     -O -fasm -fregs-iterative         120.191s  118.607s (98.68%)
1577]
1578[Make the demand analyser take account of lambda-bound unfoldings
1579Simon PJ <simonpj@microsoft.com>**20100503151630
1580 Ignore-this: 2ee8e27d4df2debfc79e6b8a17c32bc1
1581 
1582 This is a long-standing lurking bug. See Note [Lamba-bound unfoldings]
1583 in DmdAnal.
1584 
1585 I'm still not really happy with this lambda-bound-unfolding stuff.
1586]
1587[Fix dynamic libs on OS X, and enable them by default
1588Ian Lynagh <igloo@earth.li>**20100503150302]
1589[Switch back to using bytestring from the darcs repo; partially fixes #3855
1590Ian Lynagh <igloo@earth.li>**20100502113458]
1591[Fix some cpp warnings when building on FreeBSD; patch from Gabor PALI
1592Ian Lynagh <igloo@earth.li>**20100428150700]
1593[Fix "make 2"
1594Ian Lynagh <igloo@earth.li>**20100427162212
1595 The new Makefile logic was enabling the stage 1 rules when stage=2,
1596 so "make 2" was rebuilding stage 1.
1597]
1598[Inplace programs depend on their shell wrappers
1599Ian Lynagh <igloo@earth.li>**20100427160038]
1600[--make is now the default (#3515), and -fno-code works with --make (#3783)
1601Simon Marlow <marlowsd@gmail.com>**20100427122851
1602 Ignore-this: 33330474fa4703f32bf9997462b4bf3c
1603 If the command line contains any Haskell source files, then we behave
1604 as if --make had been given.
1605 
1606 The meaning of the -c flag has changed (back): -c now selects one-shot
1607 compilation, but stops before linking.  However, to retain backwards
1608 compatibility, -c is still allowed with --make, and means the same as
1609 --make -no-link.  The -no-link flag has been un-deprecated.
1610 
1611 -fno-code is now allowed with --make (#3783); the fact that it was
1612 disabled before was largely accidental, it seems.  We also had some
1613 regressions in this area: it seems that -fno-code was causing a .hc
1614 file to be emitted in certain cases.  I've tidied up the code, there
1615 was no need for -fno-code to be a "mode" flag, as far as I can tell.
1616 
1617 -fno-code does not emit interface files, nor does it do recompilation
1618 checking, as suggested in #3783.  This would make Haddock emit
1619 interface files, for example, and I'm fairly sure we don't want to do
1620 that.  Compiling with -fno-code is pretty quick anyway, perhaps we can
1621 get away without recompilation checking.
1622]
1623[remove duplicate docs for -e in --help output (#4010)
1624Simon Marlow <marlowsd@gmail.com>**20100426140642
1625 Ignore-this: 187ff893ba8ffa0ec127867a7590e38d
1626]
1627[workaround for #4003, fixes HEAD build with 6.12.2
1628Simon Marlow <marlowsd@gmail.com>**20100426103428
1629 Ignore-this: c4bc445dc8052d4e6efef3f1daf63562
1630]
1631[Make sure all the clean rules are always included
1632Ian Lynagh <igloo@earth.li>**20100424181823
1633 In particular, this fixes a problem where stage3 bits weren't being cleaned
1634]
1635[Correct the name of the amd64/FreeBSD platform in PlatformSupportsSharedLibs
1636Ian Lynagh <igloo@earth.li>**20100424132830
1637 We weren't getting sharedlibs on amd64/FreeBSD because of this
1638]
1639[Include DPH docs in bindists
1640Ian Lynagh <igloo@earth.li>**20100424123101]
1641[reinstate eta-expansion during SimplGently, to fix inlining of sequence_
1642Simon Marlow <marlowsd@gmail.com>**20100423124853
1643 Ignore-this: 4fa0fd5bafe0d6b58fc81076f50d5f8d
1644]
1645[fix 64-bit value for W_SHIFT, which thankfully appears to be not used
1646Simon Marlow <marlowsd@gmail.com>**20100422213605
1647 Ignore-this: 525c062d2456c224ec8d0e083edd3b55
1648]
1649[Add missing constant folding and optimisation for unsigned division
1650Simon Marlow <marlowsd@gmail.com>**20100422213443
1651 Ignore-this: fb10d1cda0852fab0cbcb47247498fb3
1652 Noticed by Denys Rtveliashvili <rtvd@mac.com>, see #4004
1653]
1654[Fix the GHC API link in the main doc index.html
1655Ian Lynagh <igloo@earth.li>**20100422213226]
1656[Give the right exit code in darcs-all
1657Ian Lynagh <igloo@earth.li>**20100421171339
1658 Our END block was calling system, which alters $?. So now we save and
1659 restore it.
1660]
1661[Use StgWord64 instead of ullong
1662Ian Lynagh <igloo@earth.li>**20100421162336
1663 This patch also fixes ullong_format_string (renamed to showStgWord64)
1664 so that it works with values outside the 32bit range (trac #3979), and
1665 simplifies the without-commas case.
1666]
1667[Implement try10Times in Makefile
1668Ian Lynagh <igloo@earth.li>**20100420165909
1669 Avoid using seq, as FreeBSD has jot instead.
1670]
1671[Fix crash in non-threaded RTS on Windows
1672Simon Marlow <marlowsd@gmail.com>**20100420122125
1673 Ignore-this: 28b0255a914a8955dce02d89a7dfaca
1674 The tso->block_info field is now overwritten by pushOnRunQueue(), but
1675 stg_block_async_info was assuming that it still held a pointer to the
1676 StgAsyncIOResult.  We must therefore save this value somewhere safe
1677 before putting the TSO on the run queue.
1678]
1679[Expand the scope of the event_buf_mutex to cover io_manager_event
1680Simon Marlow <marlowsd@gmail.com>**20100420122026
1681 Ignore-this: 185a6d84f7d4a35997f10803f6dacef1
1682 I once saw a failure that I think was due to a race on
1683 io_manager_event, this should fix it.
1684]
1685[Flags -auto and -auto-all operate only on functions not marked INLINE.
1686Milan Straka <fox@ucw.cz>**20100331191050
1687 Ignore-this: 3b63580cfcb3c33d62ad697c36d94d05
1688]
1689[Spelling correction for LANGUAGE pragmas
1690Max Bolingbroke <batterseapower@hotmail.com>**20100413192825
1691 Ignore-this: 311b51ba8d43f6c7fd32f48db9a88dee
1692]
1693[Update the user guide so it talks about the newer "do rec" notation everywhere
1694Ian Lynagh <igloo@earth.li>**20100416205416
1695 Some of the problems highlighted in trac #3968.
1696]
1697[Fix typo
1698Ian Lynagh <igloo@earth.li>**20100416205412]
1699[Fix Trac #3950: unifying types of different kinds
1700simonpj@microsoft.com**20100412151845
1701 Ignore-this: d145b9de5ced136ef2c39f3ea4a04f4a
1702 
1703 I was assuming that the unifer only unified types of the
1704 same kind, but now we can "defer" unsolved constraints that
1705 invariant no longer holds.  Or at least is's more complicated
1706 to ensure. 
1707 
1708 This patch takes the path of not assuming the invariant, which
1709 is simpler and more robust.  See
1710 Note [Mismatched type lists and application decomposition]
1711]
1712[Fix Trac #3943: incorrect unused-variable warning
1713simonpj@microsoft.com**20100412151630
1714 Ignore-this: 52459f2b8b02c3cb120abe674dc9a060
1715 
1716 In fixing this I did the usual little bit of refactoring
1717]
1718[Convert boot and boot-pkgs to perl
1719Ian Lynagh <igloo@earth.li>**20100415143919
1720 This stops us having to worry about sh/sed/... portability.
1721]
1722[Use $(MAKE), not make, when recursively calling make
1723Ian Lynagh <igloo@earth.li>**20100415121453]
1724[Remove the ghc_ge_609 makefile variables
1725Ian Lynagh <igloo@earth.li>**20100412235658
1726 They are now guaranteed to be YES
1727]
1728[Increase the minimum version number required to 6.10 in configure.ac
1729Ian Lynagh <igloo@earth.li>**20100412235313]
1730[The bootstrapping compiler is now required to be > 609
1731Ian Lynagh <igloo@earth.li>**20100409161046]
1732[Handle IND_STATIC in isRetainer
1733Ian Lynagh <igloo@earth.li>**20100409104207
1734 IND_STATIC used to be an error, but at the moment it can happen
1735 as isAlive doesn't look through IND_STATIC as it ignores static
1736 closures. See trac #3956 for a program that hit this error.
1737]
1738[Add Data and Typeable instances to HsSyn
1739David Waern <david.waern@gmail.com>**20100330011020
1740 Ignore-this: c3f2717207b15539fea267c36b686e6a
1741 
1742 The instances (and deriving declarations) have been taken from the ghc-syb
1743 package.
1744]
1745[Fix for derefing ThreadRelocated TSOs in MVar operations
1746Simon Marlow <marlowsd@gmail.com>**20100407092824
1747 Ignore-this: 94dd7c68a6094eda667e2375921a8b78
1748]
1749[sanity check fix
1750Simon Marlow <marlowsd@gmail.com>**20100407092746
1751 Ignore-this: 9c18cd5f5393e5049015ca52e62a1269
1752]
1753[get the reg liveness right in the putMVar# heap check
1754Simon Marlow <marlowsd@gmail.com>**20100407092724
1755 Ignore-this: b1ba07a59ecfae00e9a1f8391741abc
1756]
1757[initialise the headers of MSG_BLACKHOLE objects properly
1758Simon Marlow <marlowsd@gmail.com>**20100407081712
1759 Ignore-this: 183dcd0ca6a395d08db2be12b02bdd79
1760]
1761[initialise the headers of MVAR_TSO_QUEUE objects properly
1762Simon Marlow <marlowsd@gmail.com>**20100407081514
1763 Ignore-this: 4b4a2f30cf2fb69ca4128c41744687bb
1764]
1765[undo debugging code
1766Simon Marlow <marlowsd@gmail.com>**20100406142740
1767 Ignore-this: 323c2248f817b6717c19180482fc4b00
1768]
1769[putMVar#: fix reg liveness in the heap check
1770Simon Marlow <marlowsd@gmail.com>**20100406135832
1771 Ignore-this: cddd2c7807ac7612c9b2c4c0d384d284
1772]
1773[account for the new BLACKHOLEs in the GHCi debugger
1774Simon Marlow <marlowsd@gmail.com>**20100406133406
1775 Ignore-this: 4d4aeb4bbada3f50dc1fb0123f565e8f
1776]
1777[don't forget to deRefTSO() in tryWakeupThread()
1778Simon Marlow <marlowsd@gmail.com>**20100406130411
1779 Ignore-this: 171d57c4f8653835dec0b69f9be9881c
1780]
1781[Fix bug in popRunQueue
1782Simon Marlow <marlowsd@gmail.com>**20100406091453
1783 Ignore-this: 9d3cec8f18f5c5cbd51751797386eb6f
1784]
1785[fix bug in migrateThread()
1786Simon Marlow <marlowsd@gmail.com>**20100401105840
1787 Ignore-this: 299bcf0d1ea0f8865f3e845eb93d2ad3
1788]
1789[Remove the IND_OLDGEN and IND_OLDGEN_PERM closure types
1790Simon Marlow <marlowsd@gmail.com>**20100401093519
1791 Ignore-this: 95f2480c8a45139835eaf5610217780b
1792 These are no longer used: once upon a time they used to have different
1793 layout from IND and IND_PERM respectively, but that is no longer the
1794 case since we changed the remembered set to be an array of addresses
1795 instead of a linked list of closures.
1796]
1797[Change the representation of the MVar blocked queue
1798Simon Marlow <marlowsd@gmail.com>**20100401091605
1799 Ignore-this: 20a35bfabacef2674df362905d7834fa
1800 
1801 The list of threads blocked on an MVar is now represented as a list of
1802 separately allocated objects rather than being linked through the TSOs
1803 themselves.  This lets us remove a TSO from the list in O(1) time
1804 rather than O(n) time, by marking the list object.  Removing this
1805 linear component fixes some pathalogical performance cases where many
1806 threads were blocked on an MVar and became unreachable simultaneously
1807 (nofib/smp/threads007), or when sending an asynchronous exception to a
1808 TSO in a long list of thread blocked on an MVar.
1809 
1810 MVar performance has actually improved by a few percent as a result of
1811 this change, slightly to my surprise.
1812 
1813 This is the final cleanup in the sequence, which let me remove the old
1814 way of waking up threads (unblockOne(), MSG_WAKEUP) in favour of the
1815 new way (tryWakeupThread and MSG_TRY_WAKEUP, which is idempotent).  It
1816 is now the case that only the Capability that owns a TSO may modify
1817 its state (well, almost), and this simplifies various things.  More of
1818 the RTS is based on message-passing between Capabilities now.
1819]
1820[eliminate some duplication with a bit of CPP
1821Simon Marlow <marlowsd@gmail.com>**20100330154355
1822 Ignore-this: 838f7d341f096ca14c86ab9c81193e36
1823]
1824[Make ioManagerDie() idempotent
1825Simon Marlow <marlowsd@gmail.com>**20100401100705
1826 Ignore-this: a5996b43cdb2e2d72e6e971d7ea925fb
1827 Avoids screeds of "event buffer overflowed; event dropped" in
1828 conc059(threaded1).
1829]
1830[Move a thread to the front of the run queue when another thread blocks on it
1831Simon Marlow <marlowsd@gmail.com>**20100329144521
1832 Ignore-this: c518ff0d41154680edc811d891826a29
1833 This fixes #3838, and was made possible by the new BLACKHOLE
1834 infrastructure.  To allow reording of the run queue I had to make it
1835 doubly-linked, which entails some extra trickiness with regard to
1836 GC write barriers and suchlike.
1837]
1838[remove non-existent MUT_CONS symbols
1839Simon Marlow <marlowsd@gmail.com>**20100330152600
1840 Ignore-this: 885628257a9d03f2ece2a754d993014a
1841]
1842[change throwTo to use tryWakeupThread rather than unblockOne
1843Simon Marlow <marlowsd@gmail.com>**20100329144613
1844 Ignore-this: 10ad4965e6c940db71253f1c72218bbb
1845]
1846[tiny GC optimisation
1847Simon Marlow <marlowsd@gmail.com>**20100329144551
1848 Ignore-this: 9e095b9b73fff0aae726f9937846ba92
1849]
1850[New implementation of BLACKHOLEs
1851Simon Marlow <marlowsd@gmail.com>**20100329144456
1852 Ignore-this: 96cd26793b4e6ab9ddd0d59aae5c2f1d
1853 
1854 This replaces the global blackhole_queue with a clever scheme that
1855 enables us to queue up blocked threads on the closure that they are
1856 blocked on, while still avoiding atomic instructions in the common
1857 case.
1858 
1859 Advantages:
1860 
1861  - gets rid of a locked global data structure and some tricky GC code
1862    (replacing it with some per-thread data structures and different
1863    tricky GC code :)
1864 
1865  - wakeups are more prompt: parallel/concurrent performance should
1866    benefit.  I haven't seen anything dramatic in the parallel
1867    benchmarks so far, but a couple of threading benchmarks do improve
1868    a bit.
1869 
1870  - waking up a thread blocked on a blackhole is now O(1) (e.g. if
1871    it is the target of throwTo).
1872 
1873  - less sharing and better separation of Capabilities: communication
1874    is done with messages, the data structures are strictly owned by a
1875    Capability and cannot be modified except by sending messages.
1876 
1877  - this change will utlimately enable us to do more intelligent
1878    scheduling when threads block on each other.  This is what started
1879    off the whole thing, but it isn't done yet (#3838).
1880 
1881 I'll be documenting all this on the wiki in due course.
1882 
1883]
1884[Fix warnings (allow pushOnRunQueue() to not be inlined)
1885Simon Marlow <marlowsd@gmail.com>**20100401114559
1886 Ignore-this: f40bfbfad70a5165a946d11371605b7d
1887]
1888[remove out of date comment
1889Simon Marlow <marlowsd@gmail.com>**20100401105853
1890 Ignore-this: 26af88dd418ee0bcda7223b3b7e4e8d2
1891]
1892[tidy up spacing in stderr traces
1893Simon Marlow <marlowsd@gmail.com>**20100326163122
1894 Ignore-this: 16558b0433a274be217d4bf39aa4946
1895]
1896[Fix an assertion that was not safe when running in parallel
1897Simon Marlow <marlowsd@gmail.com>**20100325143656
1898 Ignore-this: cad08fb8900eb3a475547af0189fcc47
1899]
1900[Never jump directly to a thunk's entry code, even if it is single-entry
1901Simon Marlow <marlowsd@gmail.com>**20100325114847
1902 Ignore-this: 938da172c06a97762ef605c8fccfedf1
1903 I don't think this fixes any bugs as we don't have single-entry thunks
1904 at the moment, but it could cause problems for parallel execution if
1905 we ever did re-introduce update avoidance.
1906]
1907[Rename forgotten -dverbose-simpl to -dverbose-core2core in the docs.
1908Milan Straka <fox@ucw.cz>**20100331153626
1909 Ignore-this: 2da58477fb96e1cfb80f37dddd7c422c
1910]
1911[Add -pa and -V to the documentation of time profiling options.
1912Milan Straka <fox@ucw.cz>**20100329191121
1913 Ignore-this: be74d216481ec5a19e5f40f85e6e3d65
1914]
1915[Keep gcc 4.5 happy
1916Simon Marlow <marlowsd@gmail.com>**20100330120425
1917 Ignore-this: 7811878cc2bd1ce9cfbb5bf102fe3454
1918]
1919[Fix warning compiling Linker.c for PPC Mac
1920naur@post11.tele.dk**20100403182355
1921 Ignore-this: e2d2448770c9714ce17dd6cf3e297063
1922 The warning message eliminated is:
1923 > rts/Linker.c:4756:0:
1924 >      warning: nested extern declaration of 'symbolsWithoutUnderscore'
1925]
1926[Fix error compiling AsmCodeGen.lhs for PPC Mac (mkRtsCodeLabel)
1927naur@post11.tele.dk**20100403181656
1928 Ignore-this: deb7524ea7852a15a2ac0849c8c82f74
1929 The error messages eliminated are:
1930 > compiler/nativeGen/AsmCodeGen.lhs:875:31:
1931 >     Not in scope: `mkRtsCodeLabel'
1932 > compiler/nativeGen/AsmCodeGen.lhs:879:31:
1933 >     Not in scope: `mkRtsCodeLabel'
1934 > compiler/nativeGen/AsmCodeGen.lhs:883:31:
1935 >     Not in scope: `mkRtsCodeLabel'
1936]
1937[Fix error compiling AsmCodeGen.lhs for PPC Mac (DestBlockId)
1938naur@post11.tele.dk**20100403180643
1939 Ignore-this: 71e833e94ed8371b2ffabc2cf80bf585
1940 The error message eliminated is:
1941 > compiler/nativeGen/AsmCodeGen.lhs:637:16:
1942 >     Not in scope: data constructor `DestBlockId'
1943]
1944[Fix boot-pkgs's sed usage to work with Solaris's sed
1945Ian Lynagh <igloo@earth.li>**20100401153441]
1946[Pass "-i org.haskell.GHC" to packagemaker when building the OS X installer
1947Ian Lynagh <igloo@earth.li>**20100331144707
1948 This seems to fix this failure:
1949 [...]
1950 ** BUILD SUCCEEDED **
1951 rm -f -f GHC-system.pmdoc/*-contents.xml
1952 /Developer/usr/bin/packagemaker -v --doc GHC-system.pmdoc\
1953              -o /Users/ian/to_release/ghc-6.12.1.20100330/GHC-6.12.1.20100330-i386.pkg
1954 2010-03-31 15:08:15.695 packagemaker[13909:807] Setting to : 0 (null)
1955 2010-03-31 15:08:15.709 packagemaker[13909:807] Setting to : 0 org.haskell.glasgowHaskellCompiler.ghc.pkg
1956 2010-03-31 15:08:15.739 packagemaker[13909:807] relocate: (null) 0
1957 2010-03-31 15:08:15.740 packagemaker[13909:807] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSXMLDocument initWithXMLString:options:error:]: nil argument'
1958 2010-03-31 15:08:15.741 packagemaker[13909:807] Stack: (
1959     2511962091,
1960     2447007291,
1961     2511961547,
1962     2511961610,
1963     2432803204,
1964     453371,
1965     447720,
1966     436209,
1967     435510,
1968     9986,
1969     9918
1970 )
1971 make[1]: *** [framework-pkg] Trace/BPT trap
1972 make: *** [framework-pkg] Error 2
1973]
1974[Use machdepCCOpts when compiling the file to toggle -(no-)rtsopts
1975Ian Lynagh <igloo@earth.li>**20100331161302
1976 Should fix toggling on OS X "Snow Leopard". Diagnosed by Roman Leshchinskiy.
1977]
1978[Avoid a non-portable use of tar reported by Roman Leshchinskiy
1979Ian Lynagh <igloo@earth.li>**20100330145802]
1980[Don't install EXTRA_PACKAGES by default
1981Simon Marlow <marlowsd@gmail.com>**20100330142714
1982 Ignore-this: d4cc8f87a6de8d9d1d6dc9b77130b3
1983]
1984[fix a non-portable printf format
1985Simon Marlow <marlowsd@gmail.com>**20100330134437
1986 Ignore-this: d41c23c54ec29654cb2049de1e588570
1987]
1988[avoid single quote in #error
1989Simon Marlow <marlowsd@gmail.com>**20100330120346
1990 Ignore-this: 663f39e7a27fead2f648fbf22d345bb4
1991]
1992[use FMT_Word64 instead of locally-defined version
1993Simon Marlow <marlowsd@gmail.com>**20100330114650
1994 Ignore-this: 82697b8095dffb3a8e196c687006ece0
1995]
1996[remove old/unused DotnetSupport and GhcLibsWithUnix
1997Simon Marlow <marlowsd@gmail.com>**20100330123732
1998 Ignore-this: c68814868b3671abdc369105bbeafe6c
1999]
2000[fix return type cast in f.i.wrapper when using libffi (#3516)
2001Simon Marlow <marlowsd@gmail.com>**20100329154220
2002 Ignore-this: f898eb8c9ae2ca2009e539735b92c438
2003 
2004 Original fix submitted by
2005   Sergei Trofimovich <slyfox@community.haskell.org>
2006 modified by me:
2007  - exclude 64-bit types
2008  - compare uniques, not strings
2009  - #include "ffi.h" is conditional
2010]
2011[libffi: install 'ffitarget.h' header as sole 'ffi.h' is unusable
2012Simon Marlow <marlowsd@gmail.com>**20100329135734
2013 Ignore-this: f9b555ea289d8df1aa22cb6faa219a39
2014 Submitted by: Sergei Trofimovich <slyfox@community.haskell.org>
2015 Re-recorded against HEAD.
2016]
2017[avoid a fork deadlock (see comments)
2018Simon Marlow <marlowsd@gmail.com>**20100329132329
2019 Ignore-this: 3377f88b83bb3b21e42d7fc5f0d866f
2020]
2021[tidy up the end of the all_tasks list after forking
2022Simon Marlow <marlowsd@gmail.com>**20100329132253
2023 Ignore-this: 819d679875be5f344e816210274d1c29
2024]
2025[Add a 'setKeepCAFs' external function (#3900)
2026Simon Marlow <marlowsd@gmail.com>**20100329110036
2027 Ignore-this: ec532a18cad4259a09847b0b9ae2e1d2
2028]
2029[Explicitly check whether ar supports the @file syntax
2030Ian Lynagh <igloo@earth.li>**20100329123325
2031 rather than assuming that all GNU ar's do.
2032 Apparently OpenBSD's older version doesn't.
2033]
2034[Fix the format specifier for Int64/Word64 on Windows
2035Ian Lynagh <igloo@earth.li>**20100327182126
2036 mingw doesn't understand %llu/%lld - it treats them as 32-bit rather
2037 than 64-bit. We use %I64u/%I64d instead.
2038]
2039[Fix the ghci startmenu item
2040Ian Lynagh <igloo@earth.li>**20100326235934
2041 I'm not sure what changed, but it now doesn't work for me without
2042 the "Start in" field being set.
2043]
2044[Fix paths to docs in "Start Menu" entries in Windows installer; fixes #3847
2045Ian Lynagh <igloo@earth.li>**20100326155917]
2046[Add a licence file for the Windows installer to use
2047Ian Lynagh <igloo@earth.li>**20100326155130]
2048[Add gcc-g++ to the inplace mingw installation; fixes #3893
2049Ian Lynagh <igloo@earth.li>**20100326154714]
2050[Add the licence file to the Windows installer. Fixes #3934
2051Ian Lynagh <igloo@earth.li>**20100326152449]
2052[Quote the paths to alex and happy in configure
2053Ian Lynagh <igloo@earth.li>**20100325143449
2054 Ignore-this: d6d6e1a250f88985bbeea760e63a79db
2055]
2056[Use </> rather than ++ "/"
2057Ian Lynagh <igloo@earth.li>**20100325133237
2058 This stops us generating paths like
2059     c:\foo\/ghc460_0/ghc460_0.o
2060 which windres doesn't understand.
2061]
2062[Append $(exeext) to utils/ghc-pkg_dist_PROG
2063Ian Lynagh <igloo@earth.li>**20100324233447
2064 Fixes bindist creation
2065]
2066[A sanity check
2067Simon Marlow <marlowsd@gmail.com>**20100325110500
2068 Ignore-this: 3b3b76d898c822456857e506b7531e65
2069]
2070[do_checks: do not set HpAlloc if the stack check fails
2071Simon Marlow <marlowsd@gmail.com>**20100325110328
2072 Ignore-this: 899ac8c29ca975d03952dbf4608d758
2073 
2074 This fixes a very rare heap corruption bug, whereby
2075 
2076  - a context switch is requested, which sets HpLim to zero
2077    (contextSwitchCapability(), called by the timer signal or
2078    another Capability).
2079 
2080  - simultaneously a stack check fails, in a code fragment that has
2081    both a stack and a heap check.
2082 
2083 The RTS then assumes that a heap-check failure has occurred and
2084 subtracts HpAlloc from Hp, although in fact it was a stack-check
2085 failure and retreating Hp will overwrite valid heap objects.  The bug
2086 is that HpAlloc should only be set when Hp has been incremented by the
2087 heap check.  See comments in rts/HeapStackCheck.cmm for more details.
2088 
2089 This bug is probably incredibly rare in practice, but I happened to be
2090 working on a test that triggers it reliably:
2091 concurrent/should_run/throwto001, compiled with -O -threaded, args 30
2092 300 +RTS -N2, run repeatedly in a loop.
2093]
2094[comments and formatting only
2095Simon Marlow <marlowsd@gmail.com>**20100325104617
2096 Ignore-this: c0a211e15b5953bb4a84771bcddd1d06
2097]
2098[Change how perl scripts get installed; partially fixes #3863
2099Ian Lynagh <igloo@earth.li>**20100324171422
2100 We now regenerate them when installing, which means the path for perl
2101 doesn't get baked in
2102]
2103[Pass the location of gcc in the ghc wrapper script; partially fixes #3863
2104Ian Lynagh <igloo@earth.li>**20100324171408
2105 This means we don't rely on baking a path to gcc into the executable
2106]
2107[Quote the ar path in configure
2108Ian Lynagh <igloo@earth.li>**20100324162043]
2109[Remove unused cUSER_WAY_NAMES cUSER_WAY_OPTS
2110Ian Lynagh <igloo@earth.li>**20100324145048]
2111[Remove unused cCONTEXT_DIFF
2112Ian Lynagh <igloo@earth.li>**20100324145013]
2113[Remove unused cEnableWin32DLLs
2114Ian Lynagh <igloo@earth.li>**20100324144841]
2115[Remove unused cGHC_CP
2116Ian Lynagh <igloo@earth.li>**20100324144656]
2117[Fix the build for non-GNU-ar
2118Ian Lynagh <igloo@earth.li>**20100324132907]
2119[Tweak the Makefile code for making .a libs; fixes trac #3642
2120Ian Lynagh <igloo@earth.li>**20100323221325
2121 The main change is that, rather than using "xargs ar" we now put
2122 all the filenames into a file, and do "ar @file". This means that
2123 ar adds all the files at once, which works around a problem where
2124 files with the same basename in a later invocation were overwriting
2125 the existing file in the .a archive.
2126]
2127[Enable shared libraries on Windows; fixes trac #3879
2128Ian Lynagh <igloo@earth.li>**20100320231414
2129 Ignore-this: c93b35ec5b7a7fa6ddb286d17a616216
2130]
2131[Add the external core PDF to the new build system
2132Ian Lynagh <igloo@earth.li>**20100321161909]
2133[Allow specifying $threads directly when validating
2134Ian Lynagh <igloo@earth.li>**20100321112835]
2135[Remove LazyUniqFM; fixes trac #3880
2136Ian Lynagh <igloo@earth.li>**20100320213837]
2137[UNDO: slight improvement to scavenging ...
2138Simon Marlow <marlowsd@gmail.com>**20100319153413
2139 Ignore-this: f0ab581c07361f7b57eae02dd6ec893c
2140 
2141 Accidnetally pushed this patch which, while it validates, isn't
2142 correct.
2143 
2144 rolling back:
2145 
2146 Fri Mar 19 11:21:27 GMT 2010  Simon Marlow <marlowsd@gmail.com>
2147   * slight improvement to scavenging of update frames when a collision has occurred
2148 
2149     M ./rts/sm/Scav.c -19 +15
2150]
2151[slight improvement to scavenging of update frames when a collision has occurred
2152Simon Marlow <marlowsd@gmail.com>**20100319112127
2153 Ignore-this: 6de2bb9614978975f17764a0f259d9bf
2154]
2155[Don't install the utf8-string package
2156Ian Lynagh <igloo@earth.li>**20100317212709]
2157[Don't use -Bsymbolic when linking the RTS
2158Ian Lynagh <igloo@earth.li>**20100316233357
2159 This makes the RTS hooks work when doing dynamic linking
2160]
2161[Fix Trac #3920: Template Haskell kinds
2162simonpj@microsoft.com**20100317123519
2163 Ignore-this: 426cac7920446e04f3cc30bd1d9f76e2
2164 
2165 Fix two places where we were doing foldl instead of foldr
2166 after decomposing a Kind.  Strange that the same bug appears
2167 in two quite different places!
2168]
2169[copy_tag_nolock(): fix write ordering and add a write_barrier()
2170Simon Marlow <marlowsd@gmail.com>**20100316143103
2171 Ignore-this: ab7ca42904f59a0381ca24f3eb38d314
2172 
2173 Fixes a rare crash in the parallel GC.
2174 
2175 If we copy a closure non-atomically during GC, as we do for all
2176 immutable values, then before writing the forwarding pointer we better
2177 make sure that the closure itself is visible to other threads that
2178 might follow the forwarding pointer.  I imagine this doesn't happen
2179 very often, but I just found one case of it: in scavenge_stack, the
2180 RET_FUN case, after evacuating ret_fun->fun we then follow it and look
2181 up the info pointer.
2182]
2183[Add sliceP mapping to vectoriser builtins
2184benl@ouroborus.net**20100316060517
2185 Ignore-this: 54c3cafff584006b6fbfd98124330aa3
2186]
2187[Comments only
2188benl@ouroborus.net**20100311064518
2189 Ignore-this: d7dc718cc437d62aa5b1b673059a9b22
2190]
2191[TAG 2010-03-16
2192Ian Lynagh <igloo@earth.li>**20100316005137
2193 Ignore-this: 234e3bc29e2f26cc59d7b03d780cc352
2194]
2195Patch bundle hash:
219682cd08d1feaf0ecc9bc6d12f3d80c76745f96abc