summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2014-11-10 18:02:53 +0000
committerjoerg <joerg@pkgsrc.org>2014-11-10 18:02:53 +0000
commit24e1a117993d59a32c732b127a38bbc6b413ee7b (patch)
tree0d3fd3ea38bbe6bbfa741ac6c220b7e1a67b9b11
parentb723af272b4865bf502d50fc52d7ffefa8482e46 (diff)
downloadpkgsrc-24e1a117993d59a32c732b127a38bbc6b413ee7b.tar.gz
Improve handling of memalign / posix_memalign to allow static linking on
NetBSD.
-rw-r--r--shells/ast-ksh/distinfo8
-rw-r--r--shells/ast-ksh/patches/patch-src_lib_libast_features_lib15
-rw-r--r--shells/ast-ksh/patches/patch-src_lib_libast_features_map.c18
-rw-r--r--shells/ast-ksh/patches/patch-src_lib_libast_features_sys14
-rw-r--r--shells/ast-ksh/patches/patch-src_lib_libast_features_vmalloc15
-rw-r--r--shells/ast-ksh/patches/patch-src_lib_libast_include_vmalloc.h47
-rw-r--r--shells/ast-ksh/patches/patch-src_lib_libast_vmalloc_malloc.c93
7 files changed, 203 insertions, 7 deletions
diff --git a/shells/ast-ksh/distinfo b/shells/ast-ksh/distinfo
index 65bb2e24b6c..51fa693be95 100644
--- a/shells/ast-ksh/distinfo
+++ b/shells/ast-ksh/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2014/11/06 12:25:36 joerg Exp $
+$NetBSD: distinfo,v 1.16 2014/11/10 18:02:53 joerg Exp $
SHA1 (INIT.2012-08-01.tgz) = 0b472a615db384fe707042baaa3347dc1aa1c81e
RMD160 (INIT.2012-08-01.tgz) = 48f1830bc85a26125dd986256d38be435668d445
@@ -14,3 +14,9 @@ SHA1 (patch-src_lib_libast_features_sys) = 32a3f793395bb06e23c58e31ef534415da0d6
SHA1 (patch-src_lib_libast_features_vmalloc) = 714b1437cac8f49618581c6284a362163b37feba
SHA1 (patch-src_lib_libast_include_vmalloc.h) = 165a39666a4f9c155e8c1af6220e351ac3b8189a
SHA1 (patch-src_lib_libast_vmalloc_malloc.c) = 1256ade4a1bee59dccde6c549736a84bf14f0ae4
+SHA1 (patch-src_lib_libast_features_lib) = 28bee8d00364a415c46bef63899329bc3326fe34
+SHA1 (patch-src_lib_libast_features_map.c) = efc25164d5e153ee3fc3b519d4d2abbc7c3f2f6b
+SHA1 (patch-src_lib_libast_features_sys) = 32a3f793395bb06e23c58e31ef534415da0d626b
+SHA1 (patch-src_lib_libast_features_vmalloc) = 714b1437cac8f49618581c6284a362163b37feba
+SHA1 (patch-src_lib_libast_include_vmalloc.h) = 165a39666a4f9c155e8c1af6220e351ac3b8189a
+SHA1 (patch-src_lib_libast_vmalloc_malloc.c) = 1256ade4a1bee59dccde6c549736a84bf14f0ae4
diff --git a/shells/ast-ksh/patches/patch-src_lib_libast_features_lib b/shells/ast-ksh/patches/patch-src_lib_libast_features_lib
index 6a6cbc3a1d3..1347555c634 100644
--- a/shells/ast-ksh/patches/patch-src_lib_libast_features_lib
+++ b/shells/ast-ksh/patches/patch-src_lib_libast_features_lib
@@ -1,4 +1,17 @@
-$NetBSD: patch-src_lib_libast_features_lib,v 1.1 2014/11/06 12:25:36 joerg Exp $
+$NetBSD: patch-src_lib_libast_features_lib,v 1.2 2014/11/10 18:02:53 joerg Exp $
+
+--- src/lib/libast/features/lib.orig 2014-11-06 01:38:59.000000000 +0000
++++ src/lib/libast/features/lib
+@@ -28,7 +28,7 @@ lib getopt,getsubopt,getopt_long,getopt_
+ lib glob,index,iswblank,iswctype,killpg,link,localeconv,madvise
+ lib mbtowc,mbrtowc,memalign,memchr,memcpy,memdup,memmove,memset
+ lib mkdir,mkfifo,mktemp,mktime
+-lib mount,on_exit,onexit,opendir,pathconf
++lib mount,on_exit,onexit,opendir,pathconf,posix_memalign
+ lib readlink,remove,rename,rewinddir,rindex,rmdir,setlocale
+ lib setpgid,setpgrp,setpgrp2,setreuid,setsid,setuid,sigaction
+ lib sigprocmask,sigsetmask,sigunblock,sigvec,socketpair
+$NetBSD: patch-src_lib_libast_features_lib,v 1.2 2014/11/10 18:02:53 joerg Exp $
--- src/lib/libast/features/lib.orig 2014-11-06 01:38:59.000000000 +0000
+++ src/lib/libast/features/lib
diff --git a/shells/ast-ksh/patches/patch-src_lib_libast_features_map.c b/shells/ast-ksh/patches/patch-src_lib_libast_features_map.c
index 2bdaef226df..1936b4f7f89 100644
--- a/shells/ast-ksh/patches/patch-src_lib_libast_features_map.c
+++ b/shells/ast-ksh/patches/patch-src_lib_libast_features_map.c
@@ -1,4 +1,20 @@
-$NetBSD: patch-src_lib_libast_features_map.c,v 1.1 2014/11/06 12:25:36 joerg Exp $
+$NetBSD: patch-src_lib_libast_features_map.c,v 1.2 2014/11/10 18:02:53 joerg Exp $
+
+--- src/lib/libast/features/map.c.orig 2010-06-25 16:59:08.000000000 +0000
++++ src/lib/libast/features/map.c
+@@ -432,6 +432,11 @@ main()
+ printf("#define memalign _ast_memalign\n");
+ printf("extern void* memalign(size_t, size_t);\n");
+ #endif
++#if _lib_posix_memalign
++ printf("#undef posix_memalign\n");
++ printf("#define posix_memalign _ast_posix_memalign\n");
++ printf("extern int posix_memalign(void **, size_t, size_t);\n");
++#endif
+ #if _lib_mstats
+ printf("#undef mstats\n");
+ printf("#define mstats _ast_mstats\n");
+$NetBSD: patch-src_lib_libast_features_map.c,v 1.2 2014/11/10 18:02:53 joerg Exp $
--- src/lib/libast/features/map.c.orig 2010-06-25 16:59:08.000000000 +0000
+++ src/lib/libast/features/map.c
diff --git a/shells/ast-ksh/patches/patch-src_lib_libast_features_sys b/shells/ast-ksh/patches/patch-src_lib_libast_features_sys
index 33808ed1a25..72b4fd03e8e 100644
--- a/shells/ast-ksh/patches/patch-src_lib_libast_features_sys
+++ b/shells/ast-ksh/patches/patch-src_lib_libast_features_sys
@@ -1,4 +1,16 @@
-$NetBSD: patch-src_lib_libast_features_sys,v 1.1 2014/11/06 12:25:36 joerg Exp $
+$NetBSD: patch-src_lib_libast_features_sys,v 1.2 2014/11/10 18:02:53 joerg Exp $
+
+--- src/lib/libast/features/sys.orig 2012-06-15 02:11:26.000000000 +0000
++++ src/lib/libast/features/sys
+@@ -224,6 +224,7 @@ extern memset void* (void*, int, size_
+ extern pathconf long (const char*, int)
+ extern pause int (void)
+ extern pipe int (int[])
++extern posix_memalign int (void**,size_t, size_t)
+ extern pvalloc void* (size_t)
+ extern qsort void (void*, size_t, size_t, int(*)(const void*, const void*))
+ extern rand int (void)
+$NetBSD: patch-src_lib_libast_features_sys,v 1.2 2014/11/10 18:02:53 joerg Exp $
--- src/lib/libast/features/sys.orig 2012-06-15 02:11:26.000000000 +0000
+++ src/lib/libast/features/sys
diff --git a/shells/ast-ksh/patches/patch-src_lib_libast_features_vmalloc b/shells/ast-ksh/patches/patch-src_lib_libast_features_vmalloc
index 04354ede1e9..67bb25b3eba 100644
--- a/shells/ast-ksh/patches/patch-src_lib_libast_features_vmalloc
+++ b/shells/ast-ksh/patches/patch-src_lib_libast_features_vmalloc
@@ -1,4 +1,17 @@
-$NetBSD: patch-src_lib_libast_features_vmalloc,v 1.1 2014/11/06 12:25:36 joerg Exp $
+$NetBSD: patch-src_lib_libast_features_vmalloc,v 1.2 2014/11/10 18:02:53 joerg Exp $
+
+--- src/lib/libast/features/vmalloc.orig 2014-11-06 01:39:22.000000000 +0000
++++ src/lib/libast/features/vmalloc
+@@ -9,7 +9,7 @@
+ ref -D_def_map_ast=1
+
+ lib atexit,getpagesize,mallinfo,mallopt,memalign,mstats
+-lib onexit,pvalloc,strdup,valloc,vmalloc
++lib onexit,posix_memalign,pvalloc,strdup,valloc,vmalloc
+ lib _malloc,__malloc,__libc_malloc
+ hdr alloca,malloc,stat,stdlib,unistd
+ mem mallinfo.arena,mstats.bytes_total malloc.h
+$NetBSD: patch-src_lib_libast_features_vmalloc,v 1.2 2014/11/10 18:02:53 joerg Exp $
--- src/lib/libast/features/vmalloc.orig 2014-11-06 01:39:22.000000000 +0000
+++ src/lib/libast/features/vmalloc
diff --git a/shells/ast-ksh/patches/patch-src_lib_libast_include_vmalloc.h b/shells/ast-ksh/patches/patch-src_lib_libast_include_vmalloc.h
index b6b13ff3a01..dbf285dd0cc 100644
--- a/shells/ast-ksh/patches/patch-src_lib_libast_include_vmalloc.h
+++ b/shells/ast-ksh/patches/patch-src_lib_libast_include_vmalloc.h
@@ -1,4 +1,49 @@
-$NetBSD: patch-src_lib_libast_include_vmalloc.h,v 1.1 2014/11/06 12:25:36 joerg Exp $
+$NetBSD: patch-src_lib_libast_include_vmalloc.h,v 1.2 2014/11/10 18:02:53 joerg Exp $
+
+--- src/lib/libast/include/vmalloc.h.orig 2014-11-06 00:44:20.000000000 +0000
++++ src/lib/libast/include/vmalloc.h
+@@ -199,6 +199,7 @@ extern void free _ARG_(( Void_t* ));
+ extern void cfree _ARG_(( Void_t* ));
+ extern Void_t* calloc _ARG_(( size_t, size_t ));
+ extern Void_t* memalign _ARG_(( size_t, size_t ));
++extern int posix_memalign _ARG_(( Void_t **, size_t, size_t ));
+ extern Void_t* valloc _ARG_(( size_t ));
+ #endif
+ extern int setregmax _ARG_(( int ));
+@@ -247,6 +248,7 @@ _END_EXTERNS_
+ #undef calloc
+ #undef free
+ #undef memalign
++#undef posix_memalign
+ #undef valloc
+
+ #if _map_malloc
+@@ -256,6 +258,7 @@ _END_EXTERNS_
+ #define calloc(n,s) (_VMFL_(Vmregion), _ast_calloc((size_t)n, (size_t)(s)) )
+ #define free(d) (_VMFL_(Vmregion), _ast_free((Void_t*)(d)) )
+ #define memalign(a,s) (_VMFL_(Vmregion), _ast_memalign((size_t)(a),(size_t)(s)) )
++#define posix_memalign(p,a,s) (_VMFL_(Vmregion), _ast_posix_memalign((Void_t**)(p),(size_t)(a),(size_t)(s)) )
+ #define valloc(s) (_VMFL_(Vmregion), _ast_valloc((size_t)(s) )
+
+ #else
+@@ -269,6 +272,7 @@ _END_EXTERNS_
+ #define calloc(n,s) (_VMFL_(Vmregion), calloc((size_t)n, (size_t)(s)) )
+ #define free(d) (_VMFL_(Vmregion), free((Void_t*)(d)) )
+ #define memalign(a,s) (_VMFL_(Vmregion), memalign((size_t)(a),(size_t)(s)) )
++#define posix_memalign(p,a,s) (_VMFL_(Vmregion), posix_memalign((Void_t**)(p),(size_t)(a),(size_t)(s)) )
+ #define valloc(s) (_VMFL_(Vmregion), valloc((size_t)(s) )
+ #ifndef strdup
+ #define strdup(s) ( _VMFL_(Vmregion), (strdup)((char*)(s)) )
+@@ -286,6 +290,8 @@ _END_EXTERNS_
+ #define free(d) (_VMFL_(Vmregion), _VMNM_(fre,/,*,*,/,e)((Void_t*)(d)) )
+ #define memalign(a,s) (_VMFL_(Vmregion), _VMNM_(memalig,/,*,*,/,n)\
+ ((size_t)(a),(size_t)(s)) )
++#define posix_memalign(p,a,s) (_VMFL_(Vmregion), _VMNM_(posix_memalig,/,*,*,/,n)\
++ ((Void_t**)(p),(size_t)(a),(size_t)(s)) )
+ #define valloc(s) (_VMFL_(Vmregion), _VMNM_(vallo,/,*,*,/,c)\
+ ((size_t)(s) )
+ #ifndef strdup
+$NetBSD: patch-src_lib_libast_include_vmalloc.h,v 1.2 2014/11/10 18:02:53 joerg Exp $
--- src/lib/libast/include/vmalloc.h.orig 2014-11-06 00:44:20.000000000 +0000
+++ src/lib/libast/include/vmalloc.h
diff --git a/shells/ast-ksh/patches/patch-src_lib_libast_vmalloc_malloc.c b/shells/ast-ksh/patches/patch-src_lib_libast_vmalloc_malloc.c
index 343353b5f11..0ce1aa873e7 100644
--- a/shells/ast-ksh/patches/patch-src_lib_libast_vmalloc_malloc.c
+++ b/shells/ast-ksh/patches/patch-src_lib_libast_vmalloc_malloc.c
@@ -1,4 +1,95 @@
-$NetBSD: patch-src_lib_libast_vmalloc_malloc.c,v 1.1 2014/11/06 12:25:36 joerg Exp $
+$NetBSD: patch-src_lib_libast_vmalloc_malloc.c,v 1.2 2014/11/10 18:02:53 joerg Exp $
+
+--- src/lib/libast/vmalloc/malloc.c.orig 2012-06-28 06:52:46.000000000 +0000
++++ src/lib/libast/vmalloc/malloc.c
+@@ -61,6 +61,10 @@ extern char* getenv(const char*);
+ #undef mallinfo
+ typedef struct ______mallinfo Mallinfo_t;
+ #undef mallopt
++#undef memalign
++#define memalign _ast_memalign
++#undef posix_memalign
++#define posix_memalign _ast_posix_memalign
+ #undef mstats
+ typedef struct ______mstats Mstats_t;
+ #undef realloc
+@@ -153,6 +157,7 @@ static int _Vmpffd = -1;
+ #undef malloc
+ #undef mallopt
+ #undef memalign
++#undef posix_memalign
+ #undef mstats
+ #undef realloc
+ #undef valloc
+@@ -166,6 +171,7 @@ static int _Vmpffd = -1;
+ #undef free
+ #undef malloc
+ #undef memalign
++#undef posix_memalign
+ #undef realloc
+
+ #define calloc _ast_calloc
+@@ -173,6 +179,7 @@ static int _Vmpffd = -1;
+ #define free _ast_free
+ #define malloc _ast_malloc
+ #define memalign _ast_memalign
++#define posix_memalign _ast_posix_memalign
+ #define realloc _ast_realloc
+
+ #endif
+@@ -847,6 +854,9 @@ extern Void_t* F1(_malloc, size_t,n) { r
+ #if _lib_memalign
+ extern Void_t* F2(_memalign, size_t,a, size_t,n) { return memalign(a, n); }
+ #endif
++#if _lib_posix_memalign
++extern Void_t* F2(_posix_memalign, size_t,a, size_t,n) { return posix_memalign(a, n); }
++#endif
+ #if _lib_pvalloc
+ extern Void_t* F1(_pvalloc, size_t,n) { return pvalloc(n); }
+ #endif
+@@ -864,6 +874,9 @@ extern Void_t* F1(__malloc, size_t,n) {
+ #if _lib_memalign
+ extern Void_t* F2(__memalign, size_t,a, size_t,n) { return memalign(a, n); }
+ #endif
++#if _lib_posix_memalign
++extern Void_t* F2(__posix_memalign, size_t,a, size_t,n) { return posix_memalign(a, n); }
++#endif
+ #if _lib_pvalloc
+ extern Void_t* F1(__pvalloc, size_t,n) { return pvalloc(n); }
+ #endif
+@@ -881,6 +894,9 @@ extern Void_t* F1(__libc_malloc, size_t,
+ #if _lib_memalign
+ extern Void_t* F2(__libc_memalign, size_t,a, size_t,n) { return memalign(a, n); }
+ #endif
++#if _lib_posix_memalign
++extern Void_t* F2(__libc_posix_memalign, size_t,a, size_t,n) { return posix_memalign(a, n); }
++#endif
+ #if _lib_pvalloc
+ extern Void_t* F1(__libc_pvalloc, size_t,n) { return pvalloc(n); }
+ #endif
+@@ -1015,6 +1031,11 @@ extern Void_t* malloc _ARG_((size_t));
+ extern Void_t* memalign _ARG_((size_t, size_t));
+ #endif
+
++#if _lib_posix_memalign
++#undef posix_memalign
++extern Void_t* posix_memalign _ARG_((size_t, size_t));
++#endif
++
+ #if _lib_pvalloc
+ #undef pvalloc
+ extern Void_t* pvalloc _ARG_((size_t));
+@@ -1039,6 +1060,9 @@ extern Void_t* F1(_ast_malloc, size_t,n)
+ #if _lib_memalign
+ extern Void_t* F2(_ast_memalign, size_t,a, size_t,n) { return memalign(a, n); }
+ #endif
++#if _lib_posix_memalign
++extern Void_t* F2(_ast_posix_memalign, size_t,a, size_t,n) { return memalign(a, n); }
++#endif
+ extern Void_t* F2(_ast_realloc, Void_t*,p, size_t,n) { return realloc(p, n); }
+
+ #endif
+$NetBSD: patch-src_lib_libast_vmalloc_malloc.c,v 1.2 2014/11/10 18:02:53 joerg Exp $
--- src/lib/libast/vmalloc/malloc.c.orig 2012-06-28 06:52:46.000000000 +0000
+++ src/lib/libast/vmalloc/malloc.c