summaryrefslogtreecommitdiff
path: root/driver
Commit message (Collapse)AuthorAgeFilesLines
* Fix the splitter with perl 5.10; patch from Audrey TangIan Lynagh2008-06-111-82/+81
|
* Enable the mangler for netbsd/amd64; fixes trac #2347Ian Lynagh2008-06-061-1/+1
|
* Tell the mangler how to mangle for amd64/freebsd; fixes trac #2072Ian Lynagh2008-05-111-1/+1
|
* FIX #2047: Windows (and older Unixes): align info tables to 4 bytes, not 2Simon Marlow2008-02-051-7/+7
| | | | | | | | | | | Perhaps in the past '.align 2' meant align to 4 bytes, but nowadays it means align to 2 bytes. The compacting collector requires info tables to be aligned to 4 bytes, because it stores tag bits in the low 2 bits. This only affects -fvia-C - the native code generator was already emitting the correct alignment. The incorrect alignment might well have been adversely affecting performance with -fvia-C on Windows.
* Tweak the splitterIan Lynagh2008-01-161-3/+3
| | | | | | We were generating a label ".LnLC7", which the splitter was confusing with a literal constant (LC). The end result was the assembler tripping up on ".Ln.text".
* Make ghcii.sh executableIan Lynagh2007-12-171-0/+1
|
* Use INSTALL_SCRIPT, not INSTALL_PROGRAM, when installing scripts; fixes #1858Ian Lynagh2007-11-102-6/+6
|
* clean ghci-inplaceSimon Marlow2007-10-311-0/+1
|
* comment-out "use vars" in 3 places (see #1739)Simon Marlow2007-10-081-3/+3
|
* Fix copy+paste-o, spotted by Simon MarlowIan Lynagh2007-09-141-1/+1
|
* Fix bindist creation on WindowsIan Lynagh2007-09-051-1/+1
|
* Use DESTDIR when installingIan Lynagh2007-08-282-2/+2
|
* Remove odd recursive call in the driver/ghci MakefileIan Lynagh2007-08-211-10/+0
| | | | | | I'm not sure why this was here, but it makes ghci.o get built twice on Windows, which can cause the build to fail if it tries to link it in the middle.
* windres to use the gcc given as --with-cc.Clemens Fruhwirth2007-07-031-1/+1
|
* * ghc-asm: Finally did away with $* in a way that works with Perl 5.6~5.10+, ↵audreyt@audreyt.org2007-07-301-397/+385
| | | | by appending /m to all regexes.
* Fix -split-obj on Mac OS via -fasmClemens Fruhwirth2007-07-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem of the splitter was that it re-emitted section directives for every dynamic label found. The following was torn apart .symbol_stubs .indirect <symbol> L_<symbol>$stub: jmp *... L_<symbol>$stub_binder: ..somebinding code.. into .symbol_stubs .indirect_symbol <symbol> L_<symbol>$stub: jmp *... .symbol_stubs <--- NEW L_<symbol>$stub_binder: ..somebinding code.. This is incorrect as the Mac OS assembler enforces that every new code section that goes into .symbol_stubs is associated with the linker directive .indirect_symbol. This sanity check is obviously violated when we reemit .symbol_stub in the splitter. The solution is to ignore everything that ends with $stub_binder as new label, and chuck it into a single label for $stub. Also the splitter has to recognize .section __DATA... for the lazy_ptr indirection symbol. Adds a reminder to PositionIndependentCode.hs to take care of the splitter when the code generation is changed. This should not affect -fvia-c as the code generated by the C compiler is entirely different.
* Revert the $* patch for earlier Perls as it breaks the build. Sorry. :/audreyt@audreyt.org2007-07-121-1/+4
|
* In mangler, lift the multiline-match pragma to toplevel and document it better.audreyt@audreyt.org2007-07-111-6/+12
|
* * Evil Mangler broke under Perl 5.9+ because $* is gone; this fixes it.audreyt@audreyt.org2007-07-111-2/+5
| | | | | | | | | | | Perl 4's special variable $* controls multi-line matching; it's been deprecated from Perl 5's inception, and is finally removed in Perl versions 5.9 (soon to be 5.10). Since GHC depends on Perl 5.6+ anyway, this patch introduces an equivalent effect to $* without using that special variable, by hooking into Perl's regex parsing process to add the /m flag.
* workaround for #1421 (Solaris linker being picky about .size)Simon Marlow2007-06-141-1/+7
|
* Remove now-unused filesIan Lynagh2007-06-022-5/+0
|
* Fix ghcii.sh creationIan Lynagh2007-06-021-2/+2
|
* Fix bindist creationIan Lynagh2007-06-015-0/+24
| | | | | Bindists should now work again, when doing "make install" at least. "make in-place" is probably still broken.
* Rework the build system a bitIan Lynagh2007-05-315-66/+56
| | | | | | Key changes: * Always build as if BIN_DIST is 1. BIN_DIST is thus removed. * Libraries are configured with prefix set to $$topdir rather than $(prefix)
* improve comments about x86-64 relative-offset hackerySimon Marlow2007-05-101-0/+2
|
* FIX #1343: regex bug in the x86_64 mangler settingsSimon Marlow2007-05-101-2/+2
|
* save two more FP registers on ia64red5_2@hotmail.com2007-03-271-4/+5
| | | | | | Save/restore two more registers in StgCRun(). The extra registers are used by ffi009.hs, when compiling with gcc 4.1.2.
* mangler and runtime updates for gcc 4 on ia64red5_2@hotmail.com2007-03-181-114/+239
| | | | | | | | | | | | | | | Gcc 4 is doing more clever optimizations than earlier gccs. These changes let ghc compile and run on ia64 with gcc 4.0.3. Register stack frames are enlarged so that all functions use the same size stack frame. The code to mangle tail calls has been cleaned up and made more general. Additional floating-point and special-purpose registers used by GCC are saved upon entering the STG runtime. More general handling of NOP instructions. Handling of functions with multiple epilogues or no epilogue.
* Make constructor names in info tables position independentwolfgang.thaller@gmx.net2007-03-081-0/+1
| | | | | | | | | | Info tables, like everything else in the text section, MUST NOT contain pointers. A pointer is, by definition, position dependent and is therefore fundamentally incompatible with generating position independent code. Therefore, we have to store an offset from the info label to the string instead of the pointer, just as we already did for other things referred to by the info table (SRTs, large bitmaps, etc.)
* Fixes for the mangler on IA64Ian Lynagh2007-02-271-13/+104
| | | | From heatsink, in trac #1150.
* Have the splitter duplicate the .note.GNU-stackIan Lynagh2007-01-081-14/+18
|
* Have the mangler keep .note.GNU-stackIan Lynagh2007-01-081-7/+19
|
* Fix the pattern for _hpc symbols: it incorrectly matched the _hp suffix tooSimon Marlow2006-12-121-1/+1
| | | | | | This has the undesitrable effect that stg_gc_gen_hp in the RTS was caught as an HPC symbol and put in the data segment.
* Fix _module_registered bug for sparc linux.Simon Marlow2006-10-061-2/+2
| | | | | | Patch by Ferris McCormick <fmccor@gentoo.org> This patch has been tested with GHC-6.4.2 where it fixes a huge number of testsuite failures (down from 406 to 17)
* Initial support for x86_64-darwinwolfgang.thaller@gmx.net2006-11-271-0/+40
| | | | Basic -fvia-C code generation is there, not much testing.
* Mac OS X mangler: follow some minor gcc changeswolfgang.thaller@gmx.net2006-11-201-4/+4
|
* Haskell Program Coverageandy@galois.com2006-10-241-0/+6
| | | | | | | | | | | | | | | | | | | | This large checkin is the new ghc version of Haskell Program Coverage, an expression-level coverage tool for Haskell. Parts: - Hpc.[ch] - small runtime support for Hpc; reading/writing *.tix files. - Coverage.lhs - Annotates the HsSyn with coverage tickboxes. - New Note's in Core, - TickBox -- ticked on entry to sub-expression - BinaryTickBox -- ticked on exit to sub-expression, depending -- on the boolean result. - New Stg level TickBox (no BinaryTickBoxes, though) You can run the coverage tool with -fhpc at compile time. Main must be compiled with -fhpc.
* fix for when path to GHC contains spaces, from #695Simon Marlow2006-06-221-1/+1
|
* A better icon for GHCiNeil Mitchell2006-06-021-0/+0
|
* Reorganisation of the source treeSimon Marlow2006-04-0717-0/+3128
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.