From owner-freebsd-hackers@FreeBSD.ORG Sat Nov 8 11:04:49 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C6DD16A4CE for ; Sat, 8 Nov 2003 11:04:49 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5915543FBF for ; Sat, 8 Nov 2003 11:04:48 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.9p2/8.12.9) with ESMTP id hA8J37Mg036759; Sat, 8 Nov 2003 14:03:07 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)hA8J33ro036756; Sat, 8 Nov 2003 14:03:07 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Sat, 8 Nov 2003 14:03:03 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: "Jin Guojun [NCS]" In-Reply-To: <3FAC81D5.3AF5B8E2@lbl.gov> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: hackers@freebsd.org Subject: Re: 4.9 KLDload error X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Nov 2003 19:04:49 -0000 On Fri, 7 Nov 2003, Jin Guojun [NCS] wrote: > A KLD module ncs_time_ctl.ko compiled on both 4.8 and 4.9 hosts can be > loaded by kldload on any 4.8 machine. But neither .ko files can be > loaded on a 4.9 machine. The error is: > > 4.9 # kldload -v ./ncs_time_ctl.ko > kldload: can't load ./ncs_time_ctl.ko: Exec format error > > kldload should give more error information on what function it failed to load. > > Is this possible a 4.9 bug in kldload? or does some KLD mechanism has > been changed in 4.9-RELEASE? Is there any way to analyze what is wrong > in the 4.9 LKD system? Unfortunately, the UNIX "errno" mechanism isn't very expressive. However, the kernel linker will send debugging output to the system console. Check dmesg and see if there's more information there. Typically, this error will be the result of a failure to link symbols in the module: either due to a symbol already present, or a missing dependency. To debug this further, look at the console output, and also compare the output of "nm" on the .ko built on 4.8 and 4.9 to see if its dependencies or exposed symbols have changed. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Network Associates Laboratories