Now About Social Code
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildenv1
-rw-r--r--drvemu.c25
-rw-r--r--meson.build10
-rw-r--r--qemu-mips7
4 files changed, 43 insertions, 0 deletions
diff --git a/buildenv b/buildenv
new file mode 100644
index 0000000..01f775c
--- /dev/null
+++ b/buildenv
@@ -0,0 +1 @@
+export QEMU_LD_PREFIX=/home/lfryzek/Documents/projects/hw/ci20/images/rootfs_2015_09_09
diff --git a/drvemu.c b/drvemu.c
new file mode 100644
index 0000000..d16c44f
--- /dev/null
+++ b/drvemu.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <assert.h>
+#include <dlfcn.h>
+
+#define PROLOG(func) \
+ static typeof(func) *orig_##func = NULL; \
+ if(!orig_##func) \
+ orig_##func = dlsym(RTLD_NEXT, #func);
+
+int open64(const char *pathname, int flags, ...) {
+ printf("Called open64 on %s (%d)\n", pathname, flags);
+ PROLOG(open64);
+ int fd = orig_open64(pathname, flags);
+ //check_fd(fd, pathname);
+ return fd;
+}
+
+int openat(int dirfd, const char *pathname, int flags, ...) {
+ assert(false && "openat not implemented");
+ printf("Called openat on %s (%d) (%d)\n", pathname, dirfd, flags);
+ PROLOG(openat);
+ return orig_openat(dirfd, pathname, flags);
+}
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..53e52d9
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,10 @@
+project('drvemu', 'c',
+ default_options : ['c_std=gnu99'])
+add_project_arguments('-D_GNU_SOURCE', language: 'c')
+
+dl = dependency('dl')
+
+shared_library('drvemu',
+ 'drvemu.c',
+ build_by_default: true,
+ dependencies: dl)
diff --git a/qemu-mips b/qemu-mips
new file mode 100644
index 0000000..e0fd507
--- /dev/null
+++ b/qemu-mips
@@ -0,0 +1,7 @@
+[binaries]
+c = ['qemu-mipsel', '/home/lfryzek/Documents/projects/hw/ci20/images/rootfs_2015_09_09/usr/bin/gcc']
+ar = ['qemu-mipsel', '/home/lfryzek/Documents/projects/hw/ci20/images/rootfs_2015_09_09/usr/bin/as']
+strip = ['qemu-mipsel', '/home/lfryzek/Documents/projects/hw/ci20/images/rootfs_2015_09_09/usr/bin/strip']
+
+[built-in options]
+c_args = ['--sysroot=/home/lfryzek/Documents/projects/hw/ci20/images/rootfs_2015_09_09']