NetBSD Problem Report #46041
From jmmv@julipedia.org Fri Feb 17 18:45:27 2012
Return-Path: <jmmv@julipedia.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
by www.NetBSD.org (Postfix) with ESMTP id 7D27A63E061
for <gnats-bugs@gnats.NetBSD.org>; Fri, 17 Feb 2012 18:45:27 +0000 (UTC)
Message-Id: <20120217041046.47F2262F2CF@mini.julipedia.org>
Date: Thu, 16 Feb 2012 23:10:46 -0500 (EST)
From: jmmv@julipedia.org
Reply-To: jmmv@julipedia.org
To: gnats-bugs@gnats.NetBSD.org
Subject: Kernel modules don't work (missing symbol uvmexp_pagesize)
X-Send-Pr-Version: 3.95
>Number: 46041
>Category: port-macppc
>Synopsis: Kernel modules don't work (missing symbol uvmexp_pagesize)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-macppc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Feb 17 18:50:00 +0000 2012
>Last-Modified: Thu May 17 19:05:01 +0000 2012
>Originator: Julio Merino
>Release: NetBSD 6.0_BETA and current as of 20120216
>Organization:
>Environment:
System: NetBSD mini.julipedia.org 6.0_BETA NetBSD 6.0_BETA (MINI) #12: Thu Feb 16 19:39:25 EST 2012 builder@mini.julipedia.org:/home/builder/obj/usr/src/sys/arch/macppc/compile/MINI macppc
Architecture: powerpc
Machine: macppc
>Description:
Attempting to load a kernel module under 6.0_BETA and current on
a macppc machine results in the following errors:
kobj_checksyms, 867: [compat]: linker error: symbol `uvmexp_pagesize' not found
WARNING: module error: unable to affix module `compat'
This problem seems to have been introduced by this change:
http://mail-index.netbsd.org/source-changes/2010/11/14/msg014470.html
and was already reported here:
http://mail-index.netbsd.org/current-users/2011/09/27/msg017871.html
My understanding is that MIN_PAGE_SIZE and MAX_PAGE_SIZE are *not*
defined in macppc, but they are in other powerpc platforms. This
may be causing some of the uvm_param.h logic to get confused.
>How-To-Repeat:
Boot a recent NetBSD/macppc. Notice module loading errors when you
attempt a modload on, e.g. the compat module.
>Fix:
Don't know. The following makes modules work for me, but it's
obviously wrong:
--- uvm_init.c 2012-02-16 14:04:49.000000000 -0500
+++ /home/jmmv/uvm_init.c 2012-02-16 14:04:32.000000000 -0500
@@ -57,11 +57,9 @@
struct uvmexp uvmexp; /* decl */
struct uvm_object *uvm_kernel_object;
-#if defined(__uvmexp_pagesize)
int *uvmexp_pagesize = &uvmexp.pagesize;
int *uvmexp_pagemask = &uvmexp.pagemask;
int *uvmexp_pageshift = &uvmexp.pageshift;
-#endif
kmutex_t uvm_pageqlock;
kmutex_t uvm_fpageqlock;
>Audit-Trail:
From: Julio Merino <jmmv@julipedia.org>
To: gnats-bugs@gnats.netbsd.org
Cc:
Subject: Re: port-macppc/46041
Date: Fri, 17 Feb 2012 17:20:33 -0500
This problem affects the following modules at the very least:
fs compat coredump dtv exec_elf32 lfs nfs nfsserver procfs ptyfs
tmpfs v7fs vnd
I will soon submit a test case for this issue, which should tell us
a bit more about what platforms are broken.
From: "Julio Merino" <jmmv@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/46041 CVS commit: src
Date: Fri, 17 Feb 2012 22:36:51 +0000
Module Name: src
Committed By: jmmv
Date: Fri Feb 17 22:36:50 UTC 2012
Modified Files:
src/distrib/sets/lists/tests: module.mi
src/tests/modules: Makefile
Added Files:
src/tests/modules: t_abi_uvm.sh
src/tests/modules/k_uvm: Makefile k_uvm.c
Log Message:
Add a test to ensure that PAGE_SIZE is available in kernel modules.
This test reproduces the error condition in PR port-macppc/46041 and
therefore it is an xfail in this particular platform.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/distrib/sets/lists/tests/module.mi
cvs rdiff -u -r1.8 -r1.9 src/tests/modules/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/modules/t_abi_uvm.sh
cvs rdiff -u -r0 -r1.1 src/tests/modules/k_uvm/Makefile \
src/tests/modules/k_uvm/k_uvm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Jeff Rizzo" <riz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/46041 CVS commit: [netbsd-6] src
Date: Thu, 17 May 2012 19:03:24 +0000
Module Name: src
Committed By: riz
Date: Thu May 17 19:03:24 UTC 2012
Modified Files:
src/distrib/sets/lists/tests [netbsd-6]: module.mi
src/tests/modules [netbsd-6]: Makefile
Added Files:
src/tests/modules [netbsd-6]: t_abi_uvm.sh
src/tests/modules/k_uvm [netbsd-6]: Makefile k_uvm.c
Log Message:
Pull up following revision(s) (requested by jmmv in ticket #8):
tests/modules/t_abi_uvm.sh: revision 1.1
tests/modules/k_uvm/k_uvm.c: revision 1.1
tests/modules/k_uvm/Makefile: revision 1.1
distrib/sets/lists/tests/module.mi: revision 1.6
tests/modules/Makefile: revision 1.9
Add a test to ensure that PAGE_SIZE is available in kernel modules.
This test reproduces the error condition in PR port-macppc/46041 and
therefore it is an xfail in this particular platform.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.5.8.1 src/distrib/sets/lists/tests/module.mi
cvs rdiff -u -r1.8 -r1.8.8.1 src/tests/modules/Makefile
cvs rdiff -u -r0 -r1.3.2.2 src/tests/modules/t_abi_uvm.sh
cvs rdiff -u -r0 -r1.1.4.2 src/tests/modules/k_uvm/Makefile \
src/tests/modules/k_uvm/k_uvm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.