From owner-freebsd-ia64@FreeBSD.ORG Thu Nov 13 02:45:49 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 656E916A4CF for ; Thu, 13 Nov 2003 02:45:49 -0800 (PST) Received: from plim.fujitsu-siemens.com (plim.fujitsu-siemens.com [217.115.66.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E96843F3F for ; Thu, 13 Nov 2003 02:45:46 -0800 (PST) (envelope-from alan.robinson@fujitsu-siemens.com) Received: from trulli.pdb.fsc.net ([172.25.96.53]) by plim.fujitsu-siemens.com (8.11.3/8.11.3) with ESMTP id hADAjir06708 for ; Thu, 13 Nov 2003 11:45:45 +0100 Received: from athen.mch.fsc.net (backbay.mch.fsc.net [172.25.94.188]) by trulli.pdb.fsc.net (8.11.6/8.11.6) with ESMTP id hADAjiV05398; Thu, 13 Nov 2003 11:45:44 +0100 Received: from sanpedro.mch.fsc.net (sanpedro [172.25.95.234]) by athen.mch.fsc.net (8.11.6/8.11.6) with ESMTP id hADAjh504755; Thu, 13 Nov 2003 11:45:43 +0100 (MET) Received: (from robin@localhost) by sanpedro.mch.fsc.net (8.9.3p2/8.9.3/Debian 8.9.3-21) id LAA09335; Thu, 13 Nov 2003 11:45:43 +0100 From: Alan Robinson Date: Thu, 13 Nov 2003 11:45:43 +0100 To: freebsd-ia64@freebsd.org Message-ID: <20031113114543.A8735@fujitsu-siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-sent-by-me: robin@sanpedro Subject: inter-kld module linking in ia64 X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Alan.Robinson@fujitsu-siemens.com List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 10:45:49 -0000 Hi Folks, Using FreeBSD 5.1 on a ia64 machine: I have two kld driver modules (in different .ko files) one (B.ko) of which depends, function call, on the other (A.ko). When I kldload A.ko it loads as expected and links correctly into the kernel. When I kldload B.ko I get and error from kldload and the message "kernel: link_elf: symbol A_status undefined" I have EXPORT_SYMS=YES set in (both) driver Makefiles, before the '.include ' and the nm output looks OK to me. $ nm A.ko | grep A_status 00000a60 T A_status $ nm B.ko | grep A_status U A_status Is this expected behaviour or is it a ia64'isim. Suggestions and pointers to more information welcome. Alan PS The structure of the driver modules comes from Solaris where this sort of thing works.