Skip to content

Commit

Permalink
the names starting with underscore come from namespace.h, so generate…
Browse files Browse the repository at this point in the history
… them directly
  • Loading branch information
justincormack committed Apr 29, 2014
1 parent 361a7e7 commit 586df79
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 10 deletions.
10 changes: 7 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -100,20 +100,24 @@ netbsd_init.o: netbsd_init.c ${NBCC}
halt.o: halt.c ${NBCC}
${NBCC} ${NBCFLAGS} -c $< -o $@

bin/halt: halt.o emul.o readwrite.o remoteinit.o exit.o nullenv.o rump.map
bin/halt: halt.o emul.o readwrite.o remoteinit.o exit.o nullenv.o rump.map namespace.map
./mkremote.sh halt halt.o

rump.map: rumpsrc/sys/rump/rump.sysmap
awk '{printf("%s\t%s\n",$$3,$$4)}' $< > $@

namespace.map: rumpsrc/lib/libc/include/namespace.h
grep '#define' $< | grep -v NAMESPACE_H | awk '{printf("%s\t%s\n",$$2,$$3)}' > fns.map
awk 'NR==FNR{a[$$1]=$$1;next}a[$$1]' rump.map fns.map | awk '{printf("%s\t%s\n",$$2,$$1)}' > $@

define NBUTIL_templ
rumpsrc/${1}/${2}.ro:
( cd rumpsrc/${1} && \
${RUMPMAKE} LIBCRT0= BUILDRUMP_CFLAGS="-fPIC -std=gnu99 -D__NetBSD__ ${CPPFLAGS.${2}}" ${2}.ro )

NBLIBS.${2}:= $(shell cd rumpsrc/${1} && ${RUMPMAKE} -V '$${LDADD}')
LIBS.${2}=$${NBLIBS.${2}:-l%=rump/lib/lib%.a}
bin/${2}: rumpsrc/${1}/${2}.ro emul.o readwrite.o remoteinit.o nullenv.o exit.o netbsd_init.o rump.map $${LIBS.${2}}
bin/${2}: rumpsrc/${1}/${2}.ro emul.o readwrite.o remoteinit.o nullenv.o exit.o netbsd_init.o rump.map namespace.map $${LIBS.${2}}
./mkremote.sh ${2} rumpsrc/${1}/${2}.ro $${LIBS.${2}}

${2}: bin/${2}
Expand All @@ -133,7 +137,7 @@ rump/lib/rump-cc.specs: spec.template
cat $< | sed "s|@PATH@|${PWD}|g" | sed "s|@LDLIBS@|${COMPLIBS}|g" > $@

clean: $(foreach util,${NBUTILS_BASE},clean_${util})
rm -f *.o *~ rump.map ${PROGS} ${OBJDIR}/* ${BINDIR}/* rumpremote.sh
rm -f *.o *~ rump.map fns.map namespace.map ${PROGS} ${OBJDIR}/* ${BINDIR}/* rumpremote.sh
rm -f test_disk-* test_busmem* disk1-* disk2-* csock-* csock1-* csock2-* raid.conf-*
rm -f ${NBCC} rump/lib/rump-cc.specs

Expand Down
7 changes: 0 additions & 7 deletions extra.map
Original file line number Diff line number Diff line change
@@ -1,8 +1 @@
# these have different names so need to map by hand
_read rump___sysimpl_read
_lseek rump___sysimpl_lseek
_pread rump___sysimpl_pread
_pwrite rump___sysimpl_pwrite
_ftruncate rump___sysimpl_ftruncate
_readlink rump___sysimpl_readlink
h_errno netbsd_h_errno
1 change: 1 addition & 0 deletions mkremote.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ CC=${CC-cc}
${CC} ${LDFLAGS} -Wl,-r -nostdlib $LINK -o ${OBJDIR}/${NAME}.o
objcopy --redefine-syms=env.map ${OBJDIR}/${NAME}.o ${OBJDIR}/tmp0_${NAME}.o
${CC} ${LDFLAGS} -Wl,-r ${OBJDIR}/tmp0_${NAME}.o netbsd_init.o -nostdlib rump/lib/libc.a -o ${OBJDIR}/tmp1_${NAME}.o 2>/dev/null
objcopy --redefine-syms=namespace.map ${OBJDIR}/tmp1_${NAME}.o
objcopy --redefine-syms=extra.map ${OBJDIR}/tmp1_${NAME}.o
objcopy --redefine-syms=rump.map ${OBJDIR}/tmp1_${NAME}.o
objcopy --redefine-syms=readwrite.map ${OBJDIR}/tmp1_${NAME}.o
Expand Down

0 comments on commit 586df79

Please sign in to comment.