summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/musl/APKBUILD6
-rw-r--r--system/musl/dynamic-binary-stack-size.patch97
-rw-r--r--system/yaml/APKBUILD10
-rw-r--r--system/yaml/fix-emitter-0.2.1.patch35
-rw-r--r--system/yaml/skip-trailing-doc-term-0.2.1.patch30
5 files changed, 173 insertions, 5 deletions
diff --git a/system/musl/APKBUILD b/system/musl/APKBUILD
index 08f4342dd..dbbfe640c 100644
--- a/system/musl/APKBUILD
+++ b/system/musl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=musl
pkgver=1.1.20
-pkgrel=4
+pkgrel=5
pkgdesc="System library (libc) implementation"
url="http://www.musl-libc.org/"
arch="all"
@@ -11,7 +11,7 @@ license="MIT"
depends=""
depends_dev="!uclibc-dev"
makedepends="$depends_dev"
-subpackages="$pkgname-dev $pkgname-dbg"
+subpackages="$pkgname-dev"
case "$BOOTSTRAP" in
nocc) pkgname="musl-dev"
subpackages=""
@@ -32,6 +32,7 @@ source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
dcngettext-null-deref.patch
getaddrinfo-regression.patch
ppc64-atomic.patch
+ dynamic-binary-stack-size.patch
ldconfig
getent.c
@@ -127,6 +128,7 @@ b967339d9048161583523e847be91779adb0e16cc225d6ff85ef51748269b2dab08a0b8e558ad014
a08d1b170356beea333ace1da12f8a8399ca80c5d9c32ff2fcd8562537a670214f566e4b1219a11b32129078e22fbf7009bb277b7de8550a89352a64b3b5090d dcngettext-null-deref.patch
e3953a3a73ef11696dd3eb216e18b152ae35198d8bff686d157e27bc90fb558f9a0be518025a90534e9afd6ea1bf731ffdb6fcb202bb9368f2c8eec7ca886141 getaddrinfo-regression.patch
aae9110eccb8cd7dcd3c957fcb01ed524598f79f7fa1a16b9993af40793545d1ec211e7e6aeabe7af7715d94cc26a473ea0acf6d6e66019bf65f03d4b8e24a4b ppc64-atomic.patch
+654f76c96ed0e69e19b1a20569e83751bb207a8c181b26742f505638095dde3f4dd3f785deb92c49a603bd15cd8d4932129f567de8cd2edffdd8551c4dfd6976 dynamic-binary-stack-size.patch
cce2f1eeb61e55674469c26871a573cce61d739c3defe9c8f56f2b774f6ba5435849ad542a6714120efddc98c297098e9c98a1a424ac593df2243d4aa479f9a9 ldconfig
378d70e65bcc65bb4e1415354cecfa54b0c1146dfb24474b69e418cdbf7ad730472cd09f6f103e1c99ba6c324c9560bccdf287f5889bbc3ef0bdf0e08da47413 getent.c
9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf iconv.c"
diff --git a/system/musl/dynamic-binary-stack-size.patch b/system/musl/dynamic-binary-stack-size.patch
new file mode 100644
index 000000000..e2e3f12d3
--- /dev/null
+++ b/system/musl/dynamic-binary-stack-size.patch
@@ -0,0 +1,97 @@
+From 7b3348a98c139b4b4238384e52d4b0eb237e4833 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Tue, 18 Sep 2018 23:54:18 -0400
+Subject: support setting of default thread stack size via PT_GNU_STACK header
+
+this facilitates building software that assumes a large default stack
+size without any patching to call pthread_setattr_default_np or
+pthread_attr_setstacksize at each thread creation site, using just
+LDFLAGS.
+
+normally the PT_GNU_STACK header is used only to reflect whether
+executable stack is desired, but with GNU ld at least, passing
+-Wl,-z,stack-size=N will set a size on the program header. with this
+patch, that size will be incorporated into the default stack size
+(subject to increase-only rule and DEFAULT_STACK_MAX limit).
+
+both static and dynamic linking honor the program header. for dynamic
+linking, all libraries loaded at program start, including preloaded
+ones, are considered. dlopened libraries are not considered, for
+several reasons. extra logic would be needed to defer processing until
+the load of the new library is commited, synchronization woud be
+needed since other threads may be running concurrently, and the
+effectiveness woud be limited since the larger size would not apply to
+threads that already existed at the time of dlopen. programs that will
+dlopen code expecting a large stack need to declare the requirement
+themselves, or pthread_setattr_default_np can be used.
+---
+ ldso/dynlink.c | 12 ++++++++++++
+ src/env/__init_tls.c | 5 +++++
+ 2 files changed, 17 insertions(+)
+
+diff --git a/ldso/dynlink.c b/ldso/dynlink.c
+index e4829c3a..3ecbddfa 100644
+--- a/ldso/dynlink.c
++++ b/ldso/dynlink.c
+@@ -22,6 +22,7 @@
+ #include "dynlink.h"
+
+ static void error(const char *, ...);
++extern size_t __default_stacksize;
+
+ #define MAXP2(a,b) (-(-(a)&-(b)))
+ #define ALIGN(x,y) ((x)+(y)-1 & -(y))
+@@ -609,6 +610,12 @@ static void *map_library(int fd, struct dso *dso)
+ } else if (ph->p_type == PT_GNU_RELRO) {
+ dso->relro_start = ph->p_vaddr & -PAGE_SIZE;
+ dso->relro_end = (ph->p_vaddr + ph->p_memsz) & -PAGE_SIZE;
++ } else if (ph->p_type == PT_GNU_STACK) {
++ if (!runtime && ph->p_memsz > __default_stacksize) {
++ __default_stacksize =
++ ph->p_memsz < (8<<20) ?
++ ph->p_memsz : (8<<20);
++ }
+ }
+ if (ph->p_type != PT_LOAD) continue;
+ nsegs++;
+@@ -1238,6 +1245,12 @@ static void kernel_mapped_dso(struct dso *p)
+ } else if (ph->p_type == PT_GNU_RELRO) {
+ p->relro_start = ph->p_vaddr & -PAGE_SIZE;
+ p->relro_end = (ph->p_vaddr + ph->p_memsz) & -PAGE_SIZE;
++ } else if (ph->p_type == PT_GNU_STACK) {
++ if (!runtime && ph->p_memsz > __default_stacksize) {
++ __default_stacksize =
++ ph->p_memsz < (8<<20) ?
++ ph->p_memsz : (8<<20);
++ }
+ }
+ if (ph->p_type != PT_LOAD) continue;
+ if (ph->p_vaddr < min_addr)
+diff --git a/src/env/__init_tls.c b/src/env/__init_tls.c
+index e0224243..96d0e284 100644
+--- a/src/env/__init_tls.c
++++ b/src/env/__init_tls.c
+@@ -8,6 +8,8 @@
+ #include "atomic.h"
+ #include "syscall.h"
+
++extern size_t __default_stacksize;
++
+ int __init_tp(void *p)
+ {
+ pthread_t td = p;
+@@ -90,6 +91,11 @@ static void static_init_tls(size_t *aux)
+ base = (size_t)_DYNAMIC - phdr->p_vaddr;
+ if (phdr->p_type == PT_TLS)
+ tls_phdr = phdr;
++ if (phdr->p_type == PT_GNU_STACK &&
++ phdr->p_memsz > __default_stacksize)
++ __default_stacksize =
++ phdr->p_memsz < (8<<20) ?
++ phdr->p_memsz : (8<<20);
+ }
+
+ if (tls_phdr) {
+--
+cgit v1.2.1
+
diff --git a/system/yaml/APKBUILD b/system/yaml/APKBUILD
index 323ac3b40..4dfac01b3 100644
--- a/system/yaml/APKBUILD
+++ b/system/yaml/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=yaml
pkgver=0.2.1
-pkgrel=0
+pkgrel=1
pkgdesc="YAML 1.1 parser and emitter written in C"
url="https://pyyaml.org/wiki/LibYAML"
arch="all"
@@ -10,7 +10,9 @@ license="MIT"
depends=""
makedepends=""
subpackages="$pkgname-dev"
-source="http://pyyaml.org/download/libyaml/yaml-$pkgver.tar.gz"
+source="http://pyyaml.org/download/libyaml/yaml-$pkgver.tar.gz
+ fix-emitter-$pkgver.patch
+ skip-trailing-doc-term-$pkgver.patch"
build() {
cd "$builddir"
@@ -35,4 +37,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="97ebeea2a2c877b24de2e1ffbf175d07d97d5c8b90e06d21fd057e1114d10b96c04fd92c2ed4e956db751b7ac1686b3fd5778927912ca5bb0d096908a1351235 yaml-0.2.1.tar.gz"
+sha512sums="97ebeea2a2c877b24de2e1ffbf175d07d97d5c8b90e06d21fd057e1114d10b96c04fd92c2ed4e956db751b7ac1686b3fd5778927912ca5bb0d096908a1351235 yaml-0.2.1.tar.gz
+ad35c3b893cfeb33fab748b39b06ad0c54215941f68d0df591b8e4e4edc3b67f27ea3206321b7621c0e9e6faf749255fd80209da017c77a91d8de68eec54fd2b fix-emitter-0.2.1.patch
+715ad72a4a74b19fdf03b8be96b9e5c3801bab5475eeee4c98b109eabcf86e193d5884ad6466b6765ccc2174ebaedade25e43fff711d9522fb8f370bcea5eef4 skip-trailing-doc-term-0.2.1.patch"
diff --git a/system/yaml/fix-emitter-0.2.1.patch b/system/yaml/fix-emitter-0.2.1.patch
new file mode 100644
index 000000000..f3614e349
--- /dev/null
+++ b/system/yaml/fix-emitter-0.2.1.patch
@@ -0,0 +1,35 @@
+Contributor Note: This patch will be part of v0.2.2 which hasn't been
+formally released as of 2018-11-20. It should be removed once this
+package is version bumped.
+
+From e5ebb70a01cc0fbd9e519050d51d704f58c2a33d Mon Sep 17 00:00:00 2001
+From: James Clarke <jrtc27@jrtc27.com>
+Date: Thu, 29 Jun 2017 02:26:09 +0100
+Subject: [PATCH 2/2] Skip trailing document terminator at the end of the
+ stream
+
+---
+ src/emitter.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/src/emitter.c b/src/emitter.c
+index c593a7d..1502590 100644
+--- a/src/emitter.c
++++ b/src/emitter.c
+@@ -649,14 +649,6 @@ yaml_emitter_emit_document_start(yaml_emitter_t *emitter,
+
+ else if (event->type == YAML_STREAM_END_EVENT)
+ {
+- if (emitter->open_ended)
+- {
+- if (!yaml_emitter_write_indicator(emitter, "...", 1, 0, 0))
+- return 0;
+- if (!yaml_emitter_write_indent(emitter))
+- return 0;
+- }
+-
+ if (!yaml_emitter_flush(emitter))
+ return 0;
+
+--
+2.13.2
diff --git a/system/yaml/skip-trailing-doc-term-0.2.1.patch b/system/yaml/skip-trailing-doc-term-0.2.1.patch
new file mode 100644
index 000000000..7e10cd9ea
--- /dev/null
+++ b/system/yaml/skip-trailing-doc-term-0.2.1.patch
@@ -0,0 +1,30 @@
+Contributor Note: As with fix-emitter-0.2.1.patch, this patch should
+not be necessary when v0.2.2 is released.
+
+From 7c2e6f47e1b12ca3dfa9ea2f6c65e9bd8a02e8c8 Mon Sep 17 00:00:00 2001
+From: James Clarke <jrtc27@jrtc27.com>
+Date: Thu, 29 Jun 2017 02:24:53 +0100
+Subject: [PATCH 1/2] Revert "This code is not needed and breaks tests"
+
+This reverts commit 56400d976a1999156b1abfd674c3122843980260.
+---
+ src/emitter.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/emitter.c b/src/emitter.c
+index a5b7ff8..c593a7d 100644
+--- a/src/emitter.c
++++ b/src/emitter.c
+@@ -1946,6 +1946,10 @@ yaml_emitter_write_plain_scalar(yaml_emitter_t *emitter,
+
+ emitter->whitespace = 0;
+ emitter->indention = 0;
++ if (emitter->root_context)
++ {
++ emitter->open_ended = 1;
++ }
+
+ return 1;
+ }
+--
+2.13.2