summaryrefslogtreecommitdiff
path: root/rts/package.conf.in
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Rename _closure to _static_closure, apply naming consistently."Edward Z. Yang2014-10-201-36/+36
| | | | | | | This reverts commit 35672072b4091d6f0031417bc160c568f22d0469. Conflicts: compiler/main/DriverPipeline.hs
* Rename _closure to _static_closure, apply naming consistently.Edward Z. Yang2014-10-011-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In preparation for indirecting all references to closures, we rename _closure to _static_closure to ensure any old code will get an undefined symbol error. In order to reference a closure foobar_closure (which is now undefined), you should instead use STATIC_CLOSURE(foobar). For convenience, a number of these old identifiers are macro'd. Across C-- and C (Windows and otherwise), there were differing conventions on whether or not foobar_closure or &foobar_closure was the address of the closure. Now, all foobar_closure references are addresses, and no & is necessary. CHARLIKE/INTLIKE were not changed, simply alpha-renamed. Part of remove HEAP_ALLOCED patch set (#8199) Depends on D265 Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D267 GHC Trac Issues: #8199
* Package keys (for linking/type equality) separated from package IDs.Edward Z. Yang2014-08-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch set makes us no longer assume that a package key is a human readable string, leaving Cabal free to "do whatever it wants" to allocate keys; we'll look up the PackageId in the database to display to the user. This also means we have a new level of qualifier decisions to make at the package level, and rewriting some Safe Haskell error reporting code to DTRT. Additionally, we adjust the build system to use a new ghc-cabal output Make variable PACKAGE_KEY to determine library names and other things, rather than concatenating PACKAGE/VERSION as before. Adds a new `-this-package-key` flag to subsume the old, erroneously named `-package-name` flag, and `-package-key` to select packages by package key. RFC: The md5 hashes are pretty tough on the eye, as far as the file system is concerned :( ToDo: safePkg01 test had its output updated, but the fix is not really right: the rest of the dependencies are truncated due to the fact the we're only grepping a single line, but ghc-pkg is wrapping its output. ToDo: In a later commit, update all submodules to stop using -package-name and use -this-package-key. For now, we don't do it to avoid submodule explosion. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D80
* Raise exceptions when blocked in bad FDs (fixes Trac #4934)Sergei Trofimovich2014-06-081-0/+2
| | | | | | | | | | | | | | | Before the patch any call to 'select()' with 'bad_fd' led to: - unblocking of all threads - hiding exception for 'threadWaitRead bad_fd' The patch fixes both cases in this way: after 'select()' failure we iterate over each blocked descriptor and poll individually to see it's actual status, which is: - READY (move to run queue) - BLOCKED (leave in blocked queue) - INVALID (send an IOErrror exception) Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Revert "Per-thread allocation counters and limits"Simon Marlow2014-05-041-2/+0
| | | | | | | | Problems were found on 32-bit platforms, I'll commit again when I have a fix. This reverts the following commits: 54b31f744848da872c7c6366dea840748e01b5cf b0534f78a73f972e279eed4447a5687bd6a8308e
* fix rts exported symbols base_GHCziIOziException_allocationLimitExceeded_closureSergei Trofimovich2014-05-031-2/+2
| | | | | | | | | | | | | | | | Commit b0534f78a73f972e279eed4447a5687bd6a8308e added new exported rts symbols, but slightly misspelled them. Observer on first compiled program: > Linking dist/build/haskell-updater/haskell-updater ... > /usr/lib64/ghc-7.9.20140503/rts-1.0/libHSrts.a(Schedule.o): In function `scheduleWaitThread': > (.text+0xc4c): undefined reference to `base_GHCziIOziException_allocationLimitExceeded_closure' > /usr/lib64/ghc-7.9.20140503/rts-1.0/libHSrts.a(RtsStartup.o): In function `hs_init_ghc': > (.text+0x2fa): undefined reference to `base_GHCziIOziException_allocationLimitExceeded_closure' > collect2: error: ld returned 1 exit status CC: Simon Marlow <marlowsd@gmail.com> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Per-thread allocation counters and limitsSimon Marlow2014-05-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | This tracks the amount of memory allocation by each thread in a counter stored in the TSO. Optionally, when the counter drops below zero (it counts down), the thread can be sent an asynchronous exception: AllocationLimitExceeded. When this happens, given a small additional limit so that it can handle the exception. See documentation in GHC.Conc for more details. Allocation limits are similar to timeouts, but - timeouts use real time, not CPU time. Allocation limits do not count anything while the thread is blocked or in foreign code. - timeouts don't re-trigger if the thread catches the exception, allocation limits do. - timeouts can catch non-allocating loops, if you use -fno-omit-yields. This doesn't work for allocation limits. I couldn't measure any impact on benchmarks with these changes, even for nofib/smp.
* rts/package.conf.in: fix UNREG on --with-system-libffi when include-dir is ↵Sergei Trofimovich2014-02-171-2/+2
| | | | | | | | | passed explicitely Issue #8748 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix rts/package.conf.in ld-options for Clang.Austin Seipp2013-06-201-78/+78
| | | | | | | | | Now with less Mac-breakage. With this change, I can get a working stage1/stage2 compiler using Clang 3.4svn, which can be used to link working executables! Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Re-untabify rts/packages.conf.inAustin Seipp2013-06-191-25/+25
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Revert "Fix rts/packages.conf.in ld-options for clang."Austin Seipp2013-06-191-78/+78
| | | | | | This reverts commit 991f285e681e8541632502d05d8a46de2d44b7bd. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Revert "Untabify rts/packages.conf.in"Austin Seipp2013-06-191-25/+25
| | | | | | This reverts commit ebf97ad146173afd9e094f4975aa33717ed3a11e. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Revert "Actually fix rts/packages.conf.in ld-options."Austin Seipp2013-06-191-78/+78
| | | | | | This reverts commit 5dc74f385f1bbc9248ed950af255b946677c2ff9. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Actually fix rts/packages.conf.in ld-options.Austin Seipp2013-06-181-78/+78
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Untabify rts/packages.conf.inAustin Seipp2013-06-181-25/+25
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Fix rts/packages.conf.in ld-options for clang.Austin Seipp2013-06-181-78/+78
| | | | | | | | Technically, '-u' is an ld option, not a compiler option, and clang considers this argument unused. Hence, we must explicitly forward this to the linker. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Record libffi directory in rts package conf; trac #7465Ian Lynagh2013-04-281-2/+2
| | | | Patch from Peter Trommler
* Fix linking with binutils 2.22 or later on FreeBSD 9.1, where one shouldGabor Pali2013-04-271-0/+3
| | | | explicitly link against any dependent library
* Change how we handle libffiIan Lynagh2013-03-231-1/+1
| | | | | | | | | | | I think overall the new approach is simpler. Rather than unpacking the libffi.a and putting the .o files into our libHSrts.a, we just use the libffi.a. This change also means that when compiling programs for the dyn way, they get explicitly linked against libffi.so (rather than relying on librts.so being linked against it). This might fix a problem on FreeBSD, where programs cannot find libffi.so.
* Adding missing symbol in rts/package.conf.in.Kazu Yamamoto2013-02-111-0/+1
|
* setNumCapabilities calls GHC.Conc.IO.ioManagerCapabilitiesChanged before ↵Andreas Voellmy2013-02-111-0/+1
| | | | | | returning. This enables the IO manager to change the number of IO loops it uses (usually one per capability).
* Add configure option to use system provided libffi; fixes #5743Ian Lynagh2012-11-291-0/+3
| | | | | | | | | | Based on patch from Peter Trommler: From 293495d40f62e691520331a41c6d85d82e120169 Mon Sep 17 00:00:00 2001 From: Peter Trommler <ptrommler@acm.org> Date: Sun, 21 Oct 2012 18:47:01 +0200 Subject: [PATCH] Add configure option to use system provided libffi This fixes track # 5743 and #4496.
* Build the dynamic way by default on Linux/amd64Ian Lynagh2012-10-031-1/+1
| | | | | | | | | | | | | This required various build system changes to get the build to go through. In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs to find their libraries. In the future, we might change the inplace tree to be the same shape as an installed tree instead. However, this would mean changing the way we do installation, as currently we use cabal's installation methods to install the libraries, but that only works if the libraries are under libraries/foo/dist-install/build/..., rather than in inplace/lib/...
* Use conditionals rather than CPP in mkDerivedConstantsIan Lynagh2012-09-131-1/+1
| | | | | This means we only need to build one copy of the program, which will make life simpler as I plan to add more variants.
* Follow the move of the Word type to ghc-primIan Lynagh2012-05-221-2/+2
|
* Win64 build fixIan Lynagh2012-05-021-2/+3
|
* More Win64 ghci fixesIan Lynagh2012-05-021-0/+1
|
* TOP/includes/dist doesn't exist (yet?) and makes ghcpkg05 fail, so remove itSimon Marlow2012-01-121-1/+1
|
* RefactoringIan Lynagh2012-01-081-1/+1
| | | | | This is working towards being able to put ghcautoconf.h and ghcplatform.h in includes/dist
* Resurrect UseLibFFIForAdjustors from bitrot.PHO2011-12-081-1/+1
| | | | | | * Pass -Irts/dist/build to the C preprocessor to expose libffi headers (ffi.h and ffitarget.h) to foreign import wrappers during the building process of GHC itself. * Install libffi headers into $(ghcheaderdir) just like any other C headers. Otherwise an installed GHC can't find them when it wants to compile foreign import wrappers. * Include libffi headers in the bindist for the same reason.
* Move includes/DerivedConstants.h and includes/GHCConstants.h into dist dirsIan Lynagh2011-12-021-1/+1
| | | | | | | | | | When they existed, they were getting included in the includes_H_FILES variable (as it uses wildcard to find all header files). But the .depends files for the programs that generate the headers depend on $(includes_H_FILES), so the .depends files looked out-of-date once the headers had been created. This caused unnecessary make reinvocations. So now we put them in dist* directories, where they ought to be anyway.
* add -u flag for the new flushStdHandles referenceSimon Marlow2011-11-091-0/+2
| | | | (fix build failure with -split-objs)
* Simplify the libffi buildIan Lynagh2011-10-141-1/+0
| | | | | | | We now put the libffi objects into the RTS library, rather than trying to mangle libffi into being a ghc package itself. It would be nicer to make it a separate library (but not a ghc package), but for now hopefully this will get the build going through on Windows again.
* Don't use read_only_relocs on darwin x86-64; fixes #4984William Knop2011-03-091-1/+1
|
* Follow GHC.Bool/GHC.Types mergeIan Lynagh2010-10-231-4/+4
|
* Integrate new I/O manager, with signal supportJohan Tibell2010-07-241-6/+6
|
* Change a BUILD var to a HOST varIan Lynagh2010-07-161-1/+1
|
* we don't have a gcc-lib in LIB_DIR any moreSimon Marlow2010-04-011-4/+0
|
* fix up libm detection and use (#3724)Simon Marlow2009-12-161-1/+4
|
* Rollback #1185 fixSimon Marlow2009-11-061-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As far as I can tell, the hack I was using in rts/Linker.c won't work on OS X. Back to the drawing board. rolling back: Tue Nov 3 16:05:47 GMT 2009 Simon Marlow <marlowsd@gmail.com> * Fix #1185 (RTS part, also needs corresponding change to libraries/base) GHC.Conc.ensureIOManagerIsRunning now creates an IO manager thread if one does not exist or has died/exited. Unfortunately this exposed a problem caused by the fact that we have two base packages, and hence two IO managers, in GHCi: see NOTE [io-manager-ghci] in rts/Linker.c. The workaround can go away if/when we switch to a dynamically linked GHCi. M ./rts/Linker.c -6 +47 M ./rts/Schedule.c +4 M ./rts/package.conf.in +16 M ./rts/posix/Signals.c -1 +7 M ./rts/posix/Signals.h +2 Wed Nov 4 10:11:03 GMT 2009 Simon Marlow <marlowsd@gmail.com> * hopefully fix validate breakage on OS X and Windows M ./rts/Linker.c -1 +1 Wed Nov 4 16:27:40 GMT 2009 Simon Marlow <marlowsd@gmail.com> * fix build failure on Windows M ./rts/Linker.c -1 +1
* Fix #1185 (RTS part, also needs corresponding change to libraries/base)Simon Marlow2009-11-031-0/+16
| | | | | | | | | | | GHC.Conc.ensureIOManagerIsRunning now creates an IO manager thread if one does not exist or has died/exited. Unfortunately this exposed a problem caused by the fact that we have two base packages, and hence two IO managers, in GHCi: see NOTE [io-manager-ghci] in rts/Linker.c. The workaround can go away if/when we switch to a dynamically linked GHCi.
* Use _ rather than : for the builtin package filenamesIan Lynagh2009-09-131-2/+2
| | | | Using "builtin:foo" creates a file called "builtin" on Windows
* fix -u flags (after changes for #3310)Simon Marlow2009-09-031-4/+4
|
* Add unique package identifiers (InstalledPackageId) in the package DBSimon Marlow2009-08-201-1/+2
| | | | | See commentary at http://hackage.haskell.org/trac/ghc/wiki/Commentary/Packages
* Put "dl" back in rts/package.conf if HAVE_DL is definedIan Lynagh2009-08-211-0/+3
| | | | Fixes linking with -dynamic
* fix an includeSimon Marlow2009-08-191-1/+1
|
* remove old incarnation of .NET supportSimon Marlow2009-06-281-3/+0
|
* Add a #endif back that was accidentally removed from package.conf.inIan Lynagh2009-06-161-0/+1
|
* Stop building the rts against gmpDuncan Coutts2009-06-131-23/+3
| | | | Nothing from gmp is used in the rts anymore.
* Update symbol names; fixes the build on OSXIan Lynagh2009-06-121-8/+8
|