diff options
author | he <he> | 2010-02-18 07:59:38 +0000 |
---|---|---|
committer | he <he> | 2010-02-18 07:59:38 +0000 |
commit | c0dfdd0ce80c3b86cdb02d8f878cd77309f06214 (patch) | |
tree | a29a0e64cf736cf836db4faef392a9266e3b3900 /lang/parrot/patches | |
parent | 47db9c9ad681169ff2821c70f7f377626479a514 (diff) | |
download | pkgsrc-c0dfdd0ce80c3b86cdb02d8f878cd77309f06214.tar.gz |
Update parrot from version 2.0.0 to 2.1.0.
Pkgsrc changes:
o Adapt patch to work around dl-handle re-use to eliminate warnings
o Adapt PLIST to new contents
Upstream changes:
- Core changes
+ GC performance and encapsulation were greatly improved.
+ PMC freeze refactored.
+ More Makefile and build improvements.
- API Changes
+ The Array PMC was removed.
+ Several deprecated vtables were removed.
+ The OrderedHash PMC was substantialy improved.
- Platforms
+ Packaging improvements on some operating systems.
- Tools
+ Some cases in pbc_merge are now handled.
+ Improvements were made to the dependency checker.
+ New tool nativecall.pir added.
Diffstat (limited to 'lang/parrot/patches')
-rw-r--r-- | lang/parrot/patches/patch-ak | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/lang/parrot/patches/patch-ak b/lang/parrot/patches/patch-ak index ecba1e6f8f6..65e5dd4df7d 100644 --- a/lang/parrot/patches/patch-ak +++ b/lang/parrot/patches/patch-ak @@ -1,4 +1,4 @@ -$NetBSD: patch-ak,v 1.1 2009/12/09 09:23:51 he Exp $ +$NetBSD: patch-ak,v 1.2 2010/02/18 07:59:38 he Exp $ Prevent problem exposed by "library cloning", where the dlopen()-returned handle is copied, causing dlclose() to be called twice with the same handle, @@ -7,9 +7,9 @@ http://trac.parrot.org/parrot/ticket/1340. Index: config/gen/platform/generic/dl.c =================================================================== ---- config/gen/platform/generic/dl.c (revision 42823) -+++ config/gen/platform/generic/dl.c (working copy) -@@ -22,11 +22,69 @@ +--- config/gen/platform/generic/dl.c.orig 2009-12-12 01:16:58.000000000 +0100 ++++ config/gen/platform/generic/dl.c +@@ -22,11 +22,69 @@ Dynlib stuff */ #ifdef PARROT_HAS_HEADER_DLFCN @@ -34,7 +34,7 @@ Index: config/gen/platform/generic/dl.c +{ + struct handle_entry *e; + -+ e = malloc(sizeof(struct handle_entry)); ++ e = (struct handle_entry *) malloc(sizeof(struct handle_entry)); + if (!e) { return; } + e->handle = handle; + e->next = handle_list; @@ -79,7 +79,7 @@ Index: config/gen/platform/generic/dl.c /* =item C<void * Parrot_dlopen(const char *filename)> -@@ -39,7 +97,11 @@ +@@ -39,7 +97,11 @@ void * Parrot_dlopen(const char *filename) { #ifdef PARROT_HAS_HEADER_DLFCN @@ -92,11 +92,13 @@ Index: config/gen/platform/generic/dl.c #else return 0; #endif -@@ -93,7 +155,13 @@ +@@ -93,10 +155,15 @@ int Parrot_dlclose(void *handle) { #ifdef PARROT_HAS_HEADER_DLFCN - return dlclose(handle); +-#else +- return -1; + int rv; + + if (find_handle_entry(handle)) { @@ -104,6 +106,8 @@ Index: config/gen/platform/generic/dl.c + rv = dlclose(handle); + return rv; + } - #else - return -1; #endif ++ return -1; + } + + /* |