Skip to content

Instantly share code, notes, and snippets.

@justincormack
justincormack / gist:9031981
Created February 16, 2014 10:03
emerge --update --deep --with-bdeps=y @world
mips64-unknown-linux-gnu-g++ -c -DEFAULT_SSP -DIN_GCC_FRONTEND -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables
-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-over
length-strings -DHAVE_CONFIG_H -I. -Ic -I/var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/gcc -I/var/tmp/portage/sys-devel/gcc-4.
8.2/work/gcc-4.8.2/gcc/c -I/var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/gcc/../include -I/var/tmp/portage/sys-devel/gcc-4.8.2/w
ork/gcc-4.8.2/gcc/../libcpp/include -I/var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/gcc/../libdecnumber -I/var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/gcc/../libdecnumber/dpd -I../libdecnumber -I/var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/gcc/../libbacktrace /var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/gcc/c/c-lang.c -o c/c-lang.o
Makefile:3605: recipe for target 's-attrtab' failed
make[3]: *** [s-attrtab] Killed
make[3]: *** Waiting for unfinished
Index: ./sys/kern/init_sysctl_base.c
===================================================================
RCS file: /cvsroot/src/sys/kern/init_sysctl_base.c,v
retrieving revision 1.1
diff -u -r1.1 init_sysctl_base.c
--- ./sys/kern/init_sysctl_base.c 16 Sep 2009 15:03:56 -0000 1.1
+++ ./sys/kern/init_sysctl_base.c 24 Feb 2014 22:02:19 -0000
@@ -34,6 +34,9 @@
#include <sys/param.h>
@justincormack
justincormack / gist:9451966
Created March 9, 2014 18:17
__thread patch
diff --git a/lib/librumpuser/rumpuser_pth.c b/lib/librumpuser/rumpuser_pth.c
index 87828a7..6999be2 100644
--- a/lib/librumpuser/rumpuser_pth.c
+++ b/lib/librumpuser/rumpuser_pth.c
@@ -622,13 +622,15 @@ rumpuser_cv_has_waiters(struct rumpuser_cv *cv, int *nwaiters)
* curlwp
*/
-static pthread_key_t curlwpkey;
+static __thread struct lwp *curlwp;
RCS file: /cvsroot/src/lib/librumpuser/rumpuser_dl.c,v
retrieving revision 1.26
diff -u -r1.26 rumpuser_dl.c
--- lib/librumpuser/rumpuser_dl.c 13 Mar 2014 11:21:54 -0000 1.26
+++ lib/librumpuser/rumpuser_dl.c 14 Mar 2014 00:53:49 -0000
@@ -382,6 +382,9 @@
int error;
mainhandle = dlopen(NULL, RTLD_NOW);
+ /* Will be null if statically linked so just return */
@justincormack
justincormack / gist:9931322
Last active August 29, 2015 13:58
rump android patches
diff --git a/lib/librumpclient/rumpclient.c b/lib/librumpclient/rumpclient.c
index a92dbdd..5a2ad58 100644
--- a/lib/librumpclient/rumpclient.c
+++ b/lib/librumpclient/rumpclient.c
@@ -84,9 +84,17 @@ int (*host_socket)(int, int, int);
int (*host_close)(int);
int (*host_connect)(int, const struct sockaddr *, socklen_t);
int (*host_fcntl)(int, int, ...);
+#ifdef __ANDROID__
+int (*host_poll)(struct pollfd *, nfds_t, long);
%rename cpp_options old_cpp_options
*cpp_options:
-nostdinc -isystem @PATH@/rump/include -isystem include%s %(old_cpp_options)
*cc1:
%(cc1_cpu) -nostdinc -isystem @PATH@/rump/include -isystem include%s
*link:
-nostdlib -L .%s @LDLIBS@
@justincormack
justincormack / gist:fb0cd45de85f6b2e2817
Created December 29, 2014 22:08
asm patch for rumpfiber
diff -urN --exclude CVS /home/justin/netbsd/src/lib/librumpuser/arch/x86_64/rumpfiber_create_ctx.c lib/librumpuser/arch/x86_64/rumpfiber_create_ctx.c
--- /home/justin/netbsd/src/lib/librumpuser/arch/x86_64/rumpfiber_create_ctx.c 1970-01-01 01:00:00.000000000 +0100
+++ lib/librumpuser/arch/x86_64/rumpfiber_create_ctx.c 2014-12-29 09:50:48.402573022 +0000
@@ -0,0 +1,12 @@
+#include <rumpfiber.h>
+
+void
+arch_create_ctx(struct rf_context *ctx, void *stack, size_t stack_size,
+ void (*f)(void *), void *data)
+{
@justincormack
justincormack / notes
Created January 19, 2015 01:06
notes
Fun things to do with a rump kernel
NetBSD has a feature called the "rump kernel". This lets you run parts of NetBSD wherever you like. It has NetBSD's portability promise and will run on FreeBSD or OpenBSD, or on Xen without an operating system at all. The obligatory toaster support is underway.
This talk is recommended for people who like operating systems, hate operating systems, or just want to get them to work.
This talk will explain what the rump kernel is, how it differs from virtual machines, usermode operating systems, unikernels, containers and jails, and what you can use it for.
As a hacker I want to
1. Write drivers more easily
: core 0: 0x00000000000ad068 (0xf00516e3) bnez a0, pc - 244
: core 0: 0x00000000000ad06c (0xf29ff06f) j pc - 0xd8
: core 0: 0x00000000000acf94 (0x0b040993) addi s3, s0, 176
: core 0: 0x00000000000acf98 (0x00098513) mv a0, s3
: core 0: 0x00000000000acf9c (0xfc8b50ef) jal pc - 0x4a838
: core 0: 0x0000000000062764 (0xfe010113) addi sp, sp, -32
: core 0: 0x0000000000062768 (0x00913423) sd s1, 8(sp)
: core 0: 0x000000000006276c (0x00113c23) sd ra, 24(sp)
: core 0: 0x0000000000062770 (0x00813823) sd s0, 16(sp)
: core 0: 0x0000000000062774 (0x01213023) sd s2, 0(sp)
This file has been truncated, but you can view the full file.
docker logo
Dashboard
Explore
Organizations
Search
Create
Create Repository
Create Automated Build
Create Organization