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);

Reply via email to