Bug 185170

Summary: Can no longer enable sbp without fwe/fwip
Product: Base System Reporter: Devin Teske <dteske>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 9.2-RELEASE   
Hardware: Any   
OS: Any   

Description Devin Teske freebsd_committer freebsd_triage 2013-12-25 00:30:00 UTC
Trying to build a kernel with:
   include GENERIC
   device sbp
   nodevice fwe
   nodevice fwip

linking kernel.debug
sbp.o: In function `sbp_write_cmd_locked':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:1336: undefined reference to `fw_xfer_alloc_buf'
sbp.o: In function `sbp_agent_reset':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:1150: undefined reference to `fw_asyreq'
sbp.o: In function `sbp_free_sdev':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:2127: undefined reference to `fwdma_free'
sbp.o: In function `sbp_free_target':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:2149: undefined reference to `fw_xfer_free_buf'
sbp.o: In function `sbp_post_explore':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:832: undefined reference to `firewire_phydma_enable'
sbp.o: In function `sbp_alloc_lun':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:462: undefined reference to `crom_init_context'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:475: undefined reference to `crom_next'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:466: undefined reference to `crom_search_key'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:525: undefined reference to `crom_init_context'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:597: undefined reference to `crom_next'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:529: undefined reference to `crom_search_key'
sbp.o: In function `sbp_post_explore':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:866: undefined reference to `crom_has_specver'
sbp.o: In function `sbp_probe_lun':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:668: undefined reference to `crom_init_context'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:670: undefined reference to `crom_search_key'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:671: undefined reference to `crom_next'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:672: undefined reference to `crom_parse_text'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:677: undefined reference to `crom_next'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:674: undefined reference to `crom_search_key'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:680: undefined reference to `crom_search_key'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:685: undefined reference to `crom_search_key'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:686: undefined reference to `crom_next'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:687: undefined reference to `crom_parse_text'
sbp.o: In function `sbp_alloc_lun':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:564: undefined reference to `fwdma_malloc'
sbp.o: In function `sbp_alloc_target':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:633: undefined reference to `crom_init_context'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:634: undefined reference to `crom_search_key'
sbp.o: In function `sbp_probe_target':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:730: undefined reference to `crom_has_specver'
sbp.o: In function `sbp_xfer_free':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:918: undefined reference to `fw_xfer_unload'
sbp.o: In function `sbp_detach':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:2187: undefined reference to `fw_bindremove'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:2188: undefined reference to `fw_xferlist_remove'
sbp.o: In function `sbp_attach':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:1978: undefined reference to `firewire_phydma_enable'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:2054: undefined reference to `fw_xferlist_add'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:2058: undefined reference to `fw_bindadd'
sbp.o: In function `sbp_xfer_free':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:918: undefined reference to `fw_xfer_unload'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:918: undefined reference to `fw_xfer_unload'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:918: undefined reference to `fw_xfer_unload'
sbp.o: In function `sbp_orb_pointer':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:1259: undefined reference to `fw_asyreq'
sbp.o: In function `sbp_xfer_free':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:918: undefined reference to `fw_xfer_unload'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:918: undefined reference to `fw_xfer_unload'
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:918: undefined reference to `fw_xfer_unload'
sbp.o: In function `sbp_mgm_orb':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:1485: undefined reference to `fw_asyreq'
sbp.o: In function `sbp_busy_timeout':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:1184: undefined reference to `fw_asyreq'
sbp.o: In function `sbp_reset_start':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:962: undefined reference to `fw_asyreq'
sbp.o: In function `sbp_doorbell':
/usr/src/sys/amd64/compile/SYNAPSE-amd64/../../../dev/firewire/sbp.c:1314: undefined reference to `fw_asyreq'
sbp.o:(.data+0x520): undefined reference to `sysctl__hw_firewire_children'
*** [kernel.debug] Error code 1

Stop in /usr/src/sys/amd64/compile/SYNAPSE-amd64.

Fix: 

Unknown at this time.
How-To-Repeat: Attempt to enable sbp in a kernel config while disabling fwe/fwip devices. Used to work. sbp should not require fwe (sbp is SCSI; fwe is Ethernet; both over Firewire transport).
Comment 1 Devin Teske freebsd_committer freebsd_triage 2013-12-25 00:45:12 UTC
State Changed
From-To: open->closed

Turns out we removed `device firewire' from the GENERIC config 
(from which we were relying upon; It should be noted that the MFH to 
stable/9 -- http://svnweb.freebsd.org/base?view=revision&revision=246321 
does not appear to be documented in UPDATING, leaving everyone to learn 
this ``the hard way'')