diff options
4 files changed, 82 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series index e532dda..aa2ffba 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -13,3 +13,6 @@ vm-cache-policy0001-VM-cache-policy-change.patch vm-cache-policy0002-vm-keep-track-of-clean-pages.patch vm-cache-policy0003-vm-evict-clean-pages-first.patch +upstreamme0001-kern-bootstrap-deallocate-task.patch +upstreamme0002-kern-bootstrap-deallocate-thread.patch +upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch diff --git a/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch b/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch new file mode 100644 index 0000000..aced78a --- /dev/null +++ b/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch @@ -0,0 +1,25 @@ +From 890a2f6228b479fd0a0084d6f7b0d36f43f28b74 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Sun, 19 Jul 2015 18:50:29 +0200 +Subject: [PATCH gnumach 1/3] kern/bootstrap: deallocate task + +* kern/bootstrap.c (boot_script_free_task): Deallocate task. +--- + kern/bootstrap.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kern/bootstrap.c b/kern/bootstrap.c +index 50388ad..03f4f0f 100644 +--- a/kern/bootstrap.c ++++ b/kern/bootstrap.c +@@ -836,6 +836,7 @@ boot_script_free_task (task_t task, int aborting) + { + if (aborting) + task_terminate (task); ++ task_deallocate (task); + } + + int +-- +2.1.4 + diff --git a/debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch b/debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch new file mode 100644 index 0000000..f736036 --- /dev/null +++ b/debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch @@ -0,0 +1,28 @@ +From b96414a4edc81821f84ead68cb936a6315c37a2d Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Mon, 20 Jul 2015 20:23:46 +0200 +Subject: [PATCH gnumach 2/3] kern/bootstrap: deallocate thread + +Previously, killing the thread would fail because of the extra +reference, making task_terminate loop forever. + +* kern/bootstrap.c (boot_script_exec_command): Deallocate thread. +--- + kern/bootstrap.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kern/bootstrap.c b/kern/bootstrap.c +index 03f4f0f..cb0f976 100644 +--- a/kern/bootstrap.c ++++ b/kern/bootstrap.c +@@ -736,6 +736,7 @@ boot_script_exec_cmd (void *hook, task_t task, char *path, int argc, + simple_lock (&info.lock); + } + simple_unlock (&info.lock); ++ thread_deallocate (thread); + printf ("\n"); + } + +-- +2.1.4 + diff --git a/debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch b/debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch new file mode 100644 index 0000000..48d4b75 --- /dev/null +++ b/debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch @@ -0,0 +1,26 @@ +From fe214c07526a2138cf5f38f6826e6dd82dbc9af8 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Mon, 20 Jul 2015 20:26:29 +0200 +Subject: [PATCH gnumach 3/3] Make sure the field offsets are updated if needed + +* Makerules.am: Make sure the field offsets are updated if needed. +--- + Makerules.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makerules.am b/Makerules.am +index b1f17d1..5106fef 100644 +--- a/Makerules.am ++++ b/Makerules.am +@@ -21,7 +21,7 @@ EXTRA_DIST += \ + gensym.awk + %.symc: %.sym gensym.awk + $(AWK_V) $(AWK) -f $(word 2,$^) $< > $@ +-%.symc.o: %.symc ++%.symc.o: %.symc config.h + $(AM_V_CC) $(COMPILE) -S -x c -o $@ $< + %.h: %.symc.o + $(AM_V_GEN) sed < $< > $@ \ +-- +2.1.4 + |