Date: Thu, 27 Apr 2006 22:29:47 -0700 From: "Eugene M. Kim" <gene@nttmcl.com> To: Scott Long <scottl@samsco.org> Cc: John-Mark Gurney <gurney_j@resnet.uoregon.edu>, freebsd-stable@freebsd.org Subject: Re: link_elf: symbol cam_simq_alloc undefined Message-ID: <4451A84B.90409@nttmcl.com> In-Reply-To: <4451A645.6050807@samsco.org> References: <44518421.60408@nttmcl.com> <20060428032115.GP728@funkthat.com> <4451A140.7090100@nttmcl.com> <4451A645.6050807@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Oh, I see. The fix was just to make it work as a KLD, because as it stands now I can't load the module even though I don't use the CAM portion of it. Separating the amr_cam interface into a compatibility layer (like atapicam) would probably be better... I'll see if I can do it whenever I find some free time. Meanwhile, could you add the amr->cam MODULE_DEPEND line, as a temporary fix? Cheers, Eugene Scott Long wrote: > Hi, > > I broke the amr_cam interface several months ago when I locked the > driver. I've been neglecting it ever since due to lack of time, and due > to the amr_cam interface not being terribly useful. If you do in fact > have a use for it, let me know and I'll add it to my TODO list. > > Scott > > > Eugene M. Kim wrote: >> Thanks, that fixed it! : ) >> >> scottl: Could you commit (and MFC) the fix? It's as simple as adding a >> MODULE_DEPEND line: >> >> MODULE_DEPEND(amr, cam, 1, 1, 1); >> >> after the DRIVER_MODULE line in src/sys/dev/amr/amr_pci.c >> >> I'm not sure about amr_linux though; it seems that there's no CAM >> reference in amr_linux.c, but that amr_linux is just a compatibility >> layer on top of amr. In that light, perhaps: >> >> MODULE_DEPEND(amr_linux, amr, 1, 1, 1); >> >> is in order. Also, the existing MODULE_DEPEND line probably should be >> changed to: >> >> MODULE_DEPEND(amr_linux, linux, 1, 1, 1); >> >> Cheers, >> Eugene >> >> John-Mark Gurney wrote: >> >>> Eugene M. Kim wrote this message on Thu, Apr 27, 2006 at 19:55 -0700: >>> >>>> I'm trying to upgrade from 5-stable to 6-stable; after rebooting to the >>>> new kernel, the amr(4) module (amr.ko) refuses to load with this >>>> message: >>>> >>>> link_elf: symbol cam_simq_alloc undefined >>>> >>>> However, a quick nm(1) on /boot/kernel/cam.ko does show: >>>> >>>> ... >>>> 0000f0ac T cam_sim_set_path >>>> 0000efc4 T cam_simq_alloc >>>> 0000efd4 T cam_simq_free >>>> ... >>>> >>>> and cam.ko is already loaded before amr.ko. >>>> >>>> What am I missing here? *scratches head 'o 'a* >>> >>> amr is missing a: >>> MODULE_DEPEND(amr, cam, 1, 1, 1); >>> >>> which means the module doesn't get cam's symbols... might as well add >>> that line to amr_linux.c next to MODULE_DEPEND already there... >>> >> >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4451A84B.90409>