aboutsummaryrefslogtreecommitdiff
path: root/lang/ghc/files
diff options
context:
space:
mode:
authorOliver Braun <obraun@FreeBSD.org>2008-07-18 20:05:17 +0000
committerOliver Braun <obraun@FreeBSD.org>2008-07-18 20:05:17 +0000
commitf5d876d7f61e1f4eef9a90ff37bf526f1e0abf49 (patch)
tree860c4fa4084e1f9caab1b9cf2f29f2a127094ec9 /lang/ghc/files
parent1ff262e9107cbe7853ba39cf03522713fa651cf2 (diff)
Notes
Diffstat (limited to 'lang/ghc/files')
-rw-r--r--lang/ghc/files/extra-patch-driver-mangler-ghc-asm.lprl11
-rw-r--r--lang/ghc/files/extra-patch-rts-Linker.c118
-rw-r--r--lang/ghc/files/patch-ghc-rts-package.conf.in16
-rw-r--r--lang/ghc/files/patch-libraries-Cabal-Distribution-Simple-Haddock.hs11
-rw-r--r--lang/ghc/files/patch-utils-hsc2hs-Makefile20
5 files changed, 4 insertions, 172 deletions
diff --git a/lang/ghc/files/extra-patch-driver-mangler-ghc-asm.lprl b/lang/ghc/files/extra-patch-driver-mangler-ghc-asm.lprl
deleted file mode 100644
index e723882ebbfa..000000000000
--- a/lang/ghc/files/extra-patch-driver-mangler-ghc-asm.lprl
+++ /dev/null
@@ -1,11 +0,0 @@
---- driver/mangler/ghc-asm.lprl.orig 2007-12-10 19:11:31.000000000 +0100
-+++ driver/mangler/ghc-asm.lprl 2008-03-02 14:26:51.000000000 +0100
-@@ -216,7 +216,7 @@
- $T_HDR_vector = "\.text\n\t\.align 8\n";
-
- #--------------------------------------------------------#
-- } elsif ( $TargetPlatform =~ /^x86_64-.*-(linux|openbsd)$/m ) {
-+ } elsif ( $TargetPlatform =~ /^x86_64-.*-(linux|openbsd|freebsd)$/m ) {
-
- $T_STABBY = 0; # 1 iff .stab things (usually if a.out format)
- $T_US = ''; # _ if symbols have an underscore on the front
diff --git a/lang/ghc/files/extra-patch-rts-Linker.c b/lang/ghc/files/extra-patch-rts-Linker.c
deleted file mode 100644
index 9aee62ebab8b..000000000000
--- a/lang/ghc/files/extra-patch-rts-Linker.c
+++ /dev/null
@@ -1,118 +0,0 @@
---- rts/Linker.c.orig 2007-12-10 19:11:32.000000000 +0100
-+++ rts/Linker.c 2008-01-09 22:17:46.459941137 +0100
-@@ -59,12 +59,12 @@
- #include <sys/wait.h>
- #endif
-
--#if defined(ia64_HOST_ARCH) || defined(openbsd_HOST_OS) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS)
-+#if defined(ia64_HOST_ARCH) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS)
- #define USE_MMAP
- #include <fcntl.h>
- #include <sys/mman.h>
-
--#if defined(openbsd_HOST_OS) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS)
-+#if defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS)
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
- #endif
-@@ -1199,8 +1199,10 @@
- struct stat st;
- int r, n;
- #ifdef USE_MMAP
-+ /* In the absence of a MAP_32BIT flag to mmap() we map objects one
-+ * after the other starting from a fixed location in memory. */
- int fd, pagesize;
-- void *map_addr = NULL;
-+ static void *map_addr = (void *)0x40000000L;
- #else
- FILE *f;
- #endif
-@@ -1262,6 +1264,7 @@
-
- #ifdef USE_MMAP
- #define ROUND_UP(x,size) ((x + size - 1) & ~(size - 1))
-+#define ROUND_DOWN(x,size) (x & ~(size - 1))
-
- /* On many architectures malloc'd memory isn't executable, so we need to use mmap. */
-
-@@ -1278,7 +1281,7 @@
- #ifdef ia64_HOST_ARCH
- /* The PLT needs to be right before the object */
- n = ROUND_UP(PLTSize(), pagesize);
-- oc->plt = mmap(NULL, n, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
-+ oc->plt = mmap(map_addr, n, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
- if (oc->plt == MAP_FAILED)
- barf("loadObj: can't allocate PLT");
-
-@@ -1297,7 +1300,7 @@
- #if defined(x86_64_HOST_ARCH) && defined(MAP_32BIT)
- #define EXTRA_MAP_FLAGS MAP_32BIT
- #else
--#define EXTRA_MAP_FLAGS 0
-+#define EXTRA_MAP_FLAGS MAP_FIXED
- #endif
-
- /* MAP_ANONYMOUS is MAP_ANON on some systems, e.g. OpenBSD */
-@@ -1309,6 +1312,7 @@
- MAP_PRIVATE|EXTRA_MAP_FLAGS, fd, 0);
- if (oc->image == MAP_FAILED)
- barf("loadObj: can't map `%s'", path);
-+ map_addr += n;
-
- close(fd);
-
-@@ -2596,10 +2600,12 @@
- #define Elf_Sym Elf64_Sym
- #define Elf_Rel Elf64_Rel
- #define Elf_Rela Elf64_Rela
-+#if !defined(freebsd_HOST_OS)
- #define ELF_ST_TYPE ELF64_ST_TYPE
- #define ELF_ST_BIND ELF64_ST_BIND
- #define ELF_R_TYPE ELF64_R_TYPE
- #define ELF_R_SYM ELF64_R_SYM
-+#endif
- #else
- #define ELFCLASS ELFCLASS32
- #define Elf_Addr Elf32_Addr
-@@ -2772,15 +2778,35 @@
- x86_64_high_symbol( char *lbl, void *addr )
- {
- x86_64_bounce *bounce;
-+ int pagesize;
-+
-+ pagesize = getpagesize();
-
-- if ( x86_64_bounce_buffer == NULL ||
-+ if ( x86_64_bounce_buffer == NULL ||
- x86_64_bb_next_off >= X86_64_BB_SIZE ) {
-- x86_64_bounce_buffer =
-- mmap(NULL, X86_64_BB_SIZE * sizeof(x86_64_bounce),
-- PROT_EXEC|PROT_READ|PROT_WRITE,
-- MAP_PRIVATE|EXTRA_MAP_FLAGS|MAP_ANONYMOUS, -1, 0);
-+#ifdef MAP_32BIT
-+ x86_64_bounce_buffer =
-+ mmap(NULL, X86_64_BB_SIZE * sizeof(x86_64_bounce),
-+ PROT_EXEC|PROT_READ|PROT_WRITE,
-+ MAP_PRIVATE|EXTRA_MAP_FLAGS|MAP_ANONYMOUS, -1, 0);
-+#else
-+#define X86_64_BOUNCE_BUFFER_TOP 0x80000000L;
-+ x86_64_bounce *map_addr;
-+
-+ x86_64_bounce_buffer = x86_64_bounce_buffer ?
-+ x86_64_bounce_buffer : (x86_64_bounce *)X86_64_BOUNCE_BUFFER_TOP;
-+ map_addr = x86_64_bounce_buffer - X86_64_BB_SIZE;
-+ map_addr = ROUND_DOWN((int)map_addr, pagesize);
-+ /* In the absence of MAP_32BIT we allocate the bounce
-+ * buffers at a fixed address, one after the other,
-+ * starting from the top and growing downwards. */
-+ x86_64_bounce_buffer =
-+ mmap(map_addr, X86_64_BB_SIZE * sizeof(x86_64_bounce),
-+ PROT_EXEC|PROT_READ|PROT_WRITE,
-+ MAP_PRIVATE|EXTRA_MAP_FLAGS|MAP_ANONYMOUS, -1, 0);
-+#endif
- if (x86_64_bounce_buffer == MAP_FAILED) {
-- barf("x86_64_high_symbol: mmap failed");
-+ barf("x86_64_high_symbol: mmap failed at %p", x86_64_bounce_buffer);
- }
- x86_64_bb_next_off = 0;
- }
diff --git a/lang/ghc/files/patch-ghc-rts-package.conf.in b/lang/ghc/files/patch-ghc-rts-package.conf.in
index 0a67acf915c4..2c5509016e2c 100644
--- a/lang/ghc/files/patch-ghc-rts-package.conf.in
+++ b/lang/ghc/files/patch-ghc-rts-package.conf.in
@@ -1,18 +1,10 @@
---- rts/package.conf.in.orig 2007-12-10 19:11:32.000000000 +0100
-+++ rts/package.conf.in 2007-12-31 08:32:19.000000000 +0100
-@@ -66,6 +66,7 @@
- include-dirs: FPTOOLS_TOP_ABS"/includes"
- FPTOOLS_TOP_ABS"/rts"
- FPTOOLS_TOP_ABS"/gmp/gmpbuild"
-+ GMP_INCLUDE_DIRS
- #endif
-
- includes: Stg.h
-@@ -143,6 +144,7 @@
+--- rts/package.conf.in.orig 2008-06-16 19:27:16.000000000 +0200
++++ rts/package.conf.in 2008-06-21 21:46:49.000000000 +0200
+@@ -144,6 +144,7 @@
, "-u", "base_GHCziIOBase_NestedAtomically_closure"
, "-u", "base_GHCziWeak_runFinalizzerBatch_closure"
#endif
-+ , "-L/usr/local/lib"
++ , "-L/usr/local/lib"
#ifdef LEADING_UNDERSCORE
, "-u", "_base_GHCziConc_ensureIOManagerIsRunning_closure"
diff --git a/lang/ghc/files/patch-libraries-Cabal-Distribution-Simple-Haddock.hs b/lang/ghc/files/patch-libraries-Cabal-Distribution-Simple-Haddock.hs
deleted file mode 100644
index aa304b8d5292..000000000000
--- a/lang/ghc/files/patch-libraries-Cabal-Distribution-Simple-Haddock.hs
+++ /dev/null
@@ -1,11 +0,0 @@
---- libraries/Cabal/Distribution/Simple/Haddock.hs.orig 2007-12-10 18:18:23.000000000 +0000
-+++ libraries/Cabal/Distribution/Simple/Haddock.hs 2008-02-20 15:02:53.000000000 +0000
-@@ -122,7 +122,7 @@
- then "--hoogle"
- else "--html"
- let Just version = programVersion confHaddock
-- let have_src_hyperlink_flags = version >= Version [0,8] [] && version < Version [2,0] []
-+ let have_src_hyperlink_flags = version >= Version [0,8] []
- isVersion2 = version >= Version [2,0] []
-
- let mockFlags
diff --git a/lang/ghc/files/patch-utils-hsc2hs-Makefile b/lang/ghc/files/patch-utils-hsc2hs-Makefile
deleted file mode 100644
index a9cfdf7a5879..000000000000
--- a/lang/ghc/files/patch-utils-hsc2hs-Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -rNup ./utils/hsc2hs/Makefile.orig ./utils/hsc2hs/Makefile
---- ./utils/hsc2hs/Makefile.orig Mon Dec 10 19:11:32 2007
-+++ ./utils/hsc2hs/Makefile Sun Dec 30 21:53:09 2007
-@@ -39,9 +39,15 @@ else
- extra_flags=
- endif
-
-+ifneq "$(GMP_INCLUDE_DIRS)" ""
-+gmp_includes=-I$(GMP_INCLUDE_DIRS)
-+else
-+gmp_includes=
-+endif
-+
- $(INPLACE_HS): Makefile $(FPTOOLS_TOP)/mk/config.mk
- echo "import System.Cmd; import System.Environment; import System.Exit" > $@
-- echo "main = do args <- getArgs; rawSystem \"$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/$(HS_PROG)\" (\"--template=$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/template-hsc.h\":\"--cc=$(CC)\":\"--ld=$(CC)\"$(patsubst %,:\"%\",$(extra_flags)):\"--cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt)\":\"-I$(FPTOOLS_TOP_ABS)/$(GHC_INCLUDE_DIR_REL)\":\"-I$(FPTOOLS_TOP_ABS)/gmp/gmpbuild\":args) >>= exitWith" >> $@
-+ echo "main = do args <- getArgs; rawSystem \"$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/$(HS_PROG)\" (\"--template=$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/template-hsc.h\":\"--cc=$(CC)\":\"--ld=$(CC)\"$(patsubst %,:\"%\",$(extra_flags)):\"--cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt)\":\"-I$(FPTOOLS_TOP_ABS)/$(GHC_INCLUDE_DIR_REL)\":\"-I$(FPTOOLS_TOP_ABS)/gmp/gmpbuild\":\"$(gmp_includes)\":args) >>= exitWith" >> $@
-
- $(INPLACE_PROG): $(INPLACE_HS)
- $(HC) --make $< -o $@