Module Name: src
Committed By: pooka
Date: Tue Jul 21 00:37:25 UTC 2009
Modified Files:
src/usr.sbin/puffs: Makefile.inc
src/usr.sbin/puffs/rump_lfs: Makefile rump_lfs.c
Log Message:
Make rump_lfs work again: load fs components dynamically instead
of trying to link them in on the command line and get pounded by
link set failage.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/puffs/Makefile.inc
cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/puffs/rump_lfs/Makefile
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/puffs/rump_lfs/rump_lfs.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/puffs/Makefile.inc
diff -u src/usr.sbin/puffs/Makefile.inc:1.10 src/usr.sbin/puffs/Makefile.inc:1.11
--- src/usr.sbin/puffs/Makefile.inc:1.10 Sun Jan 18 20:42:11 2009
+++ src/usr.sbin/puffs/Makefile.inc Tue Jul 21 00:37:25 2009
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.10 2009/01/18 20:42:11 he Exp $
+# $NetBSD: Makefile.inc,v 1.11 2009/07/21 00:37:25 pooka Exp $
.include <bsd.own.mk>
.include <bsd.sys.mk>
@@ -22,6 +22,7 @@
# on select archs use the kernel module directly, otherwise fallback
# to the rump library
+.ifndef DONOTLINKLIBS
.undef RUMPKMOD
.ifdef RUMPKMOD
OSRELEASE!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh
@@ -30,6 +31,7 @@
.else
LDADD+= -lrumpfs_${MOUNTNAME}
.endif
+.endif
.PATH: ${MOUNT} ${MOUNTDIR}/mount_${MOUNTNAME}
.endif # MOUNTNAME
Index: src/usr.sbin/puffs/rump_lfs/Makefile
diff -u src/usr.sbin/puffs/rump_lfs/Makefile:1.4 src/usr.sbin/puffs/rump_lfs/Makefile:1.5
--- src/usr.sbin/puffs/rump_lfs/Makefile:1.4 Sat May 2 01:15:53 2009
+++ src/usr.sbin/puffs/rump_lfs/Makefile Tue Jul 21 00:37:25 2009
@@ -1,12 +1,10 @@
-# $NetBSD: Makefile,v 1.4 2009/05/02 01:15:53 pooka Exp $
+# $NetBSD: Makefile,v 1.5 2009/07/21 00:37:25 pooka Exp $
#
.include <bsd.own.mk>
MOUNTNAME= lfs
-
-LDADD+= -lrumpfs_ffs
-DPADD+= ${LIBRUMPFS_FFS}
+DONOTLINKLIBS= # FFS and LFS loaded dynamically
ISRUMP= # don't deny it
Index: src/usr.sbin/puffs/rump_lfs/rump_lfs.c
diff -u src/usr.sbin/puffs/rump_lfs/rump_lfs.c:1.3 src/usr.sbin/puffs/rump_lfs/rump_lfs.c:1.4
--- src/usr.sbin/puffs/rump_lfs/rump_lfs.c:1.3 Thu Sep 4 15:34:55 2008
+++ src/usr.sbin/puffs/rump_lfs/rump_lfs.c Tue Jul 21 00:37:25 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: rump_lfs.c,v 1.3 2008/09/04 15:34:55 pooka Exp $ */
+/* $NetBSD: rump_lfs.c,v 1.4 2009/07/21 00:37:25 pooka Exp $ */
/*
* Copyright (c) 2008 Antti Kantee. All Rights Reserved.
@@ -36,6 +36,7 @@
#include <unistd.h>
#include <rump/p2k.h>
+#include <rump/ukfs.h>
#include "mount_lfs.h"
@@ -49,6 +50,16 @@
setprogname(argv[0]);
+ /*
+ * Load FFS and LFS already here. we need both and link set
+ * lossage does not allow them to be linked on the command line.
+ */
+ ukfs_init();
+ if (ukfs_modload("/usr/lib/librumpfs_ffs.so") != 1)
+ err(1, "modload ffs");
+ if (ukfs_modload("/usr/lib/librumpfs_lfs.so") != 1)
+ err(1, "modload lfs");
+
mount_lfs_parseargs(argc, argv, &args, &mntflags, canon_dev, canon_dir);
rv = p2k_run_fs(MOUNT_LFS, canon_dev, canon_dir, mntflags,
&args, sizeof(args), 0);