- 31 Jan, 2002 3 commits
-
-
sof authored
Pass -lpthread to linker when using a 'threaded' RTS
-
sof authored
- new option --enable-threaded-rts, which turns on RTS support for better interop with native threads. - check for pthread.h - new config.mk variable, GhcRtsThreaded (={YES,NO})
-
sof authored
got tired of seeing gcc trigraph warning
-
- 30 Jan, 2002 20 commits
-
-
simonmar authored
Add a short section on modules & packages.
-
simonpj authored
----------------------------- Tidy up the top level of TcModule ----------------------------- This commit started life as sorting out the TcInstDcls thing that we got wrong a few weeks back, but it spiraled out of control. However, the result is a nice tidy up of TcModule. typecheckModule/tcModule compiles a module from source code typecheckIface/tcIface compiles a module from its interface file typecheckStmt compiles a Stmt typecheckExpr compiles a Expr tcExtraDecls is used by typecheckStmt/typecheckExpr to compile interface-file decls. It is just a wrapper for: tcIfaceImports, which is used by tcExtraDecls and tcIface to compile interface file-file decls. tcImports, is similar to tcIfaceImports, but is used only by tcModule tcIfaceImports is used when compiling an interface, and can therefore be quite a bit simpler
-
simonpj authored
Improved printing
-
simonmar authored
Fix markup bug.
-
simonmar authored
comsetic only: shorten some lines.
-
simonmar authored
Simplify the package story inside the compiler. The new story is this: The Finder no longer determines a module's package based on its filesystem location. The filesystem location indicates only whether a given module is in the current package or not (i.e. found along the -i path ==> current package, found along the package path ==> other package). Hence a Module no longer contains a package name. Instead it just contains PackageInfo, which is either ThisPackage or AnotherPackage. The compiler uses this information for generating cross-DLL calls and omitting certain version information from .hi files. The interface still contains the package name. This isn't used for anything right now, but in the future (when we have hierarchical libraries) we might use it to automatically determine which packages a binary should be linked against. When building a package, you should still use -package-name, but it won't be fatal if you don't. The warning/error about package name mismatches has gone away.
-
simonmar authored
Set $(HC) *after* including boilerplate.mk, which re-defines it.
-
simonmar authored
Don't use :: rules for building HSstd.o, they cause it to be rebuilt every time. According to the GNU make manual, :: rules are vary rarely actually useful, and I'm sure we use them too much.
-
simonmar authored
Minor cleanups.
-
simonmar authored
Cleanup sweep, we can now use more of the std fptools build system machinery in here.
-
simonmar authored
- .hsc sources can generate .hc files too - Fix the sense of a conditional
-
sewardj authored
Fix debug build.
-
simonmar authored
Oops, better not pre-compute PRE_SRCS in paths.mk, because ALL_DIRS is not set yet. Instead, defer it until we include target.mk.
-
simonmar authored
Clean up this Makefile: - Use the enhanced automatic source-finding machinery from paths.mk rather than rolling our own, - Turn on UseGhcForCc to get our C files compiled with GHC. This fixes some obscure bugs caused by the fact that we were re-initializing $(CC_OPTS) in this Makefile using :=, when it had previously already been set with = (apparently different versions of GNU make behave differently presented with this kind of mixed assigment).
-
simonmar authored
GHC_CC_OPTS is a derived version of CC_OPTS with -optc prepended to each option. This is used when $(UseGhcForCc) = "YES" (see suffix.mk).
-
simonmar authored
Introduce a new tweakable $(UseGhcForCc) which if set to "YES" enables a different set of suffix rules which build C-ish files using $(HC) instead of $(CC). We'll use this to clean up the ghc/rts Makefile.
-
simonmar authored
- Consider .hc files as real sources unless they are derived from .hs/.lhs sources (using the existing "derived sources" mechanism"). - Set PRE_SRCS using := rather than =, to avoid re-expanding the $(wildcard) multiple times. In a simple test I did, this can save a 1/4 second (depending on the size of the directores involved) per make!
-
sewardj authored
Fix syntax error in printing indirect calls in sparc assembly.
-
simonmar authored
- Allow sources from multiple subdirectories to be selected, by setting $(ALL_DIRS). - Automatically detect Happy sources in the same way as other kinds of sources.
-
sof authored
cope with the fact that StgTickyHeader is no more
-
- 29 Jan, 2002 17 commits
-
-
krasimir authored
Add ObjectIO to standard packages
-
sof authored
Add ProjectPatchLevel
-
sof authored
StgParHeader&StgTickyHeader vestige removal
-
sof authored
sigh, steer clear of mingw backquoting issues
-
simonmar authored
Add instance Eq Exception (and hence instance Eq IOError).
-
sewardj authored
x86 only: remove special ccall support for calling PerformGC_wrapper using dodgy-looking calling convention. PerformGC_wrapper was last seen alive in GHC 3.X, AFAIK.
-
simonmar authored
Remove some empty structs that weren't used. Apparently empty structs are illegal C.
-
sewardj authored
sparc NCG fixes for f-i-dynamic.
-
simonmar authored
Remove StgParInfo - not used anywhere.
-
simonmar authored
Remove PAR_ITBL_SIZE - not used anywhere.
-
simonmar authored
Inline mpz_cmp_si() into cmpIntegerInt#, and mpz_cmp() into cmpInteger# to offset recent performance degradation caused by outlining of these primitives. Also remove heap checks in these primitives: they don't do any allocation, so no heap check is necessary.
-
simonmar authored
Fix highly obscure bug. The heap check in cmpIntegerzh_fast was erroneously passing cmpIntegerIntzh_fast as the resumption point instead of cmpIntegerzh_fast, with the result that if a heap-check happened to strike in cmpIntegerzh_fast then we would end up resuming in cmpIntegerIntzh and returning an incorrect comparison result. One symptom is that very occasionally floating point numbers would print incorrectly (ending in an 'a').
-
sewardj authored
Teach the NCG how to do f-i-dynamic. Nothing unexpected. sparc-side now needs fixing.
-
sewardj authored
Allow constructors with non-ptr fields to be allocated in-line.
-
simonpj authored
------------ Rule phasing ------------ This commit adds a little more control to when rules are enabled. {-# RULES "foo" [2] forall ... "baz" [~2] forall ... #-} Rule "foo" is active in phase 2 and later. The new thing is that the "~2" means that Rule "baz" is active in phase 3 and earlier. (Remember tha phases decrease towards zero.) All the machinery was there to implement this, it just needed the syntax. Why do this? Peter Gammie (at UNSW) found that rules weren't firing because of bindings of the form M.f = f f = .... where the rules where on the M.f binding. It turned out that an old hack (which have for some time elicited the harmless "shortMeOut" debug warnings) prevented this trivial construction from being correctly simplified. The hack in turn derived from a trick in the way the foldr/build rule was implemented....and that hack is no longer necessary now we can switch rules *off* as well as *on*. There are consequential changes in the Prelude foldr/build RULE stuff. It's a clean-up.... Instead of strange definitions like map = mapList which we had before, we have an ordinary recursive defn of map, together with rules to convert first to foldr/build form, and then (if nothing happens) back again. There's a fairly long comment about the general plan of attack in PrelBase, near the defn of map.
-
sof authored
Update comments re: reloc overflow. A careful re-read of the PE spec did prove useful; Sec 4.1 (last para) describes how overflow is handled.
-
sof authored
PEi386/COFF: handle relocation overflows, i.e., if a section is marked with the flag (MY)IMAGE_SCN_LNK_NRELOC_OVFL, then the first entry in the relocation table holds the 32-bit relocation count rather than 16-bit number in the section header. Apparently, a version of the MS PE spec exists that spells this out, but haven't been able to locate it (perhaps people on the 'inside' could try to locate an up-to-date version...?) winnt.h is clear enough about it though (as is the GNU libbfd sources). This is the Right Way to compute the relocation count, but unfortunately libbfd / GNU ld is generating bogus output when the reloc field overflows (causing objdump/nm etc. to crash when trying to read the generated output!) Looking into it. Once this has been cleared up/fixed, the splitting up of HSstd.o (and HSwin32.o) should be a thing of the past. I've taken the liberty of disabling the suspiciously-large-reloc-section test already.
-