diff options
author | arved <arved@FreeBSD.org> | 2004-05-05 12:47:25 +0000 |
---|---|---|
committer | arved <arved@FreeBSD.org> | 2004-05-05 12:47:25 +0000 |
commit | 7c88f164a8e1d323c11eb0fc9e160596c0ebe1aa (patch) | |
tree | a0f605c7443198364296e9452b661883890a3523 /devel/boehm-gc | |
parent | a396aa2a9c0a25be7e8b6017efbfe976d4396a62 (diff) | |
download | FreeBSD-ports-7c88f164a8e1d323c11eb0fc9e160596c0ebe1aa.zip FreeBSD-ports-7c88f164a8e1d323c11eb0fc9e160596c0ebe1aa.tar.gz |
Fix boehm-gc on amd64.
Tested with: w3m
Obtained from: NetBSD (via Marc Recht <recht@NetBSD.org>)
Diffstat (limited to 'devel/boehm-gc')
-rw-r--r-- | devel/boehm-gc/Makefile | 4 | ||||
-rw-r--r-- | devel/boehm-gc/files/patch-dyn_load.c | 22 | ||||
-rw-r--r-- | devel/boehm-gc/files/patch-include-private-gcconfig.h | 27 |
3 files changed, 51 insertions, 2 deletions
diff --git a/devel/boehm-gc/Makefile b/devel/boehm-gc/Makefile index 22b732b..89cf1e4 100644 --- a/devel/boehm-gc/Makefile +++ b/devel/boehm-gc/Makefile @@ -24,8 +24,8 @@ MAN3= gc.3 .include <bsd.port.pre.mk> -.if ${ARCH} != "i386" && ${ARCH} != "alpha" -BROKEN= "Does not compile on !i386 and !alpha" +.if ${ARCH} != "i386" && ${ARCH} != "alpha" && ${ARCH} != "amd64" +BROKEN= "Does not compile on !i386 and !alpha and !amd64" .endif post-patch: diff --git a/devel/boehm-gc/files/patch-dyn_load.c b/devel/boehm-gc/files/patch-dyn_load.c new file mode 100644 index 0000000..e0f6f0c --- /dev/null +++ b/devel/boehm-gc/files/patch-dyn_load.c @@ -0,0 +1,22 @@ +--- dyn_load.c.orig 2004-05-05 11:53:09.000000000 +0200 ++++ dyn_load.c 2004-05-05 12:03:40.000000000 +0200 +@@ -91,11 +91,19 @@ + /* Newer versions of GNU/Linux define this macro. We + * define it similarly for any ELF systems that don't. */ + # ifndef ElfW ++#ifdef __FreeBSD__ ++#if ELFSIZE == 32 ++#define ElfW(type) Elf32_##type ++#else ++#define ElfW(type) Elf64_##type ++#endif ++#else + # if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32 + # define ElfW(type) Elf32_##type + # else + # define ElfW(type) Elf64_##type + # endif ++#endif + # endif + + #if defined(SUNOS5DL) && !defined(USE_PROC_FOR_LIBRARIES) diff --git a/devel/boehm-gc/files/patch-include-private-gcconfig.h b/devel/boehm-gc/files/patch-include-private-gcconfig.h new file mode 100644 index 0000000..4614764 --- /dev/null +++ b/devel/boehm-gc/files/patch-include-private-gcconfig.h @@ -0,0 +1,27 @@ +--- include/private/gcconfig.h.orig Tue Jun 17 04:01:23 2003 ++++ include/private/gcconfig.h Wed May 5 14:35:44 2004 +@@ -306,6 +306,10 @@ + # define I386 + # define mach_type_known + # endif ++# if defined(__FreeBSD__) && defined(__amd64__) ++# define X86_64 ++# define mach_type_known ++# endif + # if defined(bsdi) && (defined(i386) || defined(__i386__)) + # define I386 + # define BSDI +@@ -1793,6 +1797,13 @@ + __asm__ __volatile__ (" prefetch %0": : "m"(*(char *)(x))) + # define PREFETCH_FOR_WRITE(x) \ + __asm__ __volatile__ (" prefetchw %0": : "m"(*(char *)(x))) ++# endif ++# ifdef FREEBSD ++# define OS_TYPE "FREEBSD" ++# define DYNAMIC_LOADING ++# define HEURISTIC2 ++ extern char etext[]; ++# define SEARCH_FOR_DATA_START + # endif + # endif + |