This commit is contained in:
comex 2011-03-28 23:23:59 -04:00
parent 571e200ecf
commit 0a6f2b0a03
2 changed files with 24 additions and 7 deletions

View File

@ -1,9 +1,23 @@
DATA = $(word 1,$(wildcard ./data ../data))
include $(DATA)/Makefile.common
OBJS = check_sanity make_kernel_patchfile apply_patchfile
all: .settings $(OBJS)
%: %.c
BINS := check_sanity make_kernel_patchfile apply_patchfile sandboxc.c
all: .settings .data $(BINS)
.data:
make -C $(DATA)
$(GCC) $(CFLAGS) -o $@ $< -I$(DATA) $(DATA)/libdata.a
%.o: %.c
$(GCC) -c -o $@ $< -I$(DATA)
sandbox.o: sandbox.S
$(SDK_GCC) -c -o $@ $<
sandboxc.c: sandbox.o
xxd -i sandbox.o > sandboxc.c
check_sanity: check_sanity.o
$(GCC) -o $@ $^ $(DATA)/libdata.a
apply_patchfile: apply_patchfile.o
$(GCC) -o $@ $^ $(DATA)/libdata.a
make_kernel_patchfile: make_kernel_patchfile.o sandboxc.o
$(GCC) -o $@ $^ $(DATA)/libdata.a
clean:
rm -f $(OBJS)
rm -f $(BINS) *.o

View File

@ -4,6 +4,9 @@
#include <data/link.h>
#include "lambda.h"
extern unsigned char sandbox_o[];
extern unsigned int sandbox_o_len;
int patchfd;
static inline void patch_with_range(const char *name, addr_t addr, prange_t pr) {
@ -179,9 +182,9 @@ int main(int argc, char **argv) {
b_init(&kernel);
b_init(&sandbox);
b_load_macho(&kernel, argv[1], false);
b_load_macho(&sandbox, argv[2], true);
b_prange_load_macho(&sandbox, (prange_t) {&sandbox_o, sandbox_o_len}, "sandbox.o");
patchfd = open(argv[3], O_WRONLY | O_CREAT | O_TRUNC, 0644);
patchfd = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, 0644);
if(patchfd == -1) {
edie("could not open patchfd");
}