kern/88303: buildkernel fails with "undefined reference to `sbc_lock'" for ES1978 Maestro-2E Audiodrive on HP XE2 notebook

Stacey Roberts stacey at vickiandstacey.com
Mon Oct 31 16:10:49 PST 2005


>Number:         88303
>Category:       kern
>Synopsis:       buildkernel fails with "undefined reference to `sbc_lock'" for ES1978 Maestro-2E Audiodrive on HP XE2 notebook
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 01 00:10:15 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Stacey Roberts
>Release:        6.0-RC1
>Organization:
>Environment:
$ uname -a
FreeBSD omni.vickiandstacey.com 6.0-RC1 FreeBSD 6.0-RC1 #0: Sun Oct 30 16:09:08 GMT 2005     stacey at omni.vickiandstacey.com:/usr/obj/usr/src/sys/GENERIC  i386
stacey at omni ~ $
>Description:
Machine was running FreeBSD-5.4 Stable and was upgraded to 6.0-RC1. System appears fine using GENERIC, however when attempting to compile a custom kernel to include support for the onboard sound card (ES1978 Maestro-2E Audiodrive, ES1970 Canyon3D), running "make buildkernel KERNCONF=<My_KERNEL>" fails repeated ly at the same point - I believe that the error is related to the sound card support.

Here are the entries for the onboard sound card - which, by the way works fine under FreeBSD-5.4 Stable:

device          sound
device          snd_ess         # ES1978 Maestro-2E Audiodrive, ES1970 Canyon3D

Here is a listing of all detected hardware as of now:

# scanpci -v

pci bus 0x0000 cardnum 0x00 function 0x00: vendor 0x8086 device 0x7192
 Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)
  STATUS    0xa200  COMMAND 0x0106
  CLASS     0x06 0x00 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x40  CACHE 0x00
  BASE0     0x00000008  addr 0x00000000  MEM PREFETCHABLE

pci bus 0x0000 cardnum 0x02 function 0x00: vendor 0x126f device 0x0810
 Silicon Motion, Inc. SM810 LynxE
  STATUS    0x0230  COMMAND 0x001b
  CLASS     0x03 0x00 0x00  REVISION 0xa6
  BIST      0x00  HEADER 0x00  LATENCY 0x40  CACHE 0x00
  BASE0     0xfd000000  addr 0xfd000000  MEM
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0a
  BYTE_0    0x01  BYTE_1  0x00  BYTE_2  0x01  BYTE_3  0x06

pci bus 0x0000 cardnum 0x07 function 0x00: vendor 0x8086 device 0x7110
 Intel Corp. 82371AB/EB/MB PIIX4 ISA
  STATUS    0x0280  COMMAND 0x000f
  CLASS     0x06 0x01 0x00  REVISION 0x02
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x00

pci bus 0x0000 cardnum 0x07 function 0x01: vendor 0x8086 device 0x7111
 Intel Corp. 82371AB/EB/MB PIIX4 IDE
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x01 0x01 0x80  REVISION 0x01
  BIST      0x00  HEADER 0x00  LATENCY 0x40  CACHE 0x00
  BASE4     0x0000fcf1  addr 0x0000fcf0  I/O
  BYTE_0    0x77  BYTE_1  0xe3  BYTE_2  0x77  BYTE_3  0xe3

pci bus 0x0000 cardnum 0x07 function 0x02: vendor 0x8086 device 0x7112
 Intel Corp. 82371AB/EB/MB PIIX4 USB
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x0c 0x03 0x00  REVISION 0x01
  BIST      0x00  HEADER 0x00  LATENCY 0x40  CACHE 0x00
  BASE4     0x0000fcc1  addr 0x0000fcc0  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x04  INT_LINE 0x0a

pci bus 0x0000 cardnum 0x07 function 0x03: vendor 0x8086 device 0x7113
 Intel Corp. 82371AB/EB/MB PIIX4 ACPI
  STATUS    0x0280  COMMAND 0x0003
  CLASS     0x06 0x80 0x00  REVISION 0x02
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BYTE_0    0x01  BYTE_1  0x80  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0000 cardnum 0x0a function 0x00: vendor 0x104c device 0xac1c
 Texas Instruments PCI1225
  STATUS    0x0210  COMMAND 0x0007
  CLASS     0x06 0x07 0x00  REVISION 0x01
  BIST      0x00  HEADER 0x82  LATENCY 0x40  CACHE 0x08
  BASE0     0x80000000  addr 0x80000000  MEM
  BASE1     0x020000a0  addr 0x020000a0  MEM
  BASE2     0x20030200  addr 0x20030200  MEM
  BASE3     0xfffff000  addr 0xfffff000  MEM
  BASE5     0xfffff000  addr 0xfffff000  MEM
  MAX_LAT   0x07  MIN_GNT 0x40  INT_PIN 0x01  INT_LINE 0x0a
  BYTE_0    0x3c  BYTE_1  0x10  BYTE_2  0x09  BYTE_3  0x00

pci bus 0x0000 cardnum 0x0a function 0x01: vendor 0x104c device 0xac1c
 Texas Instruments PCI1225
  STATUS    0x0210  COMMAND 0x0007
  CLASS     0x06 0x07 0x00  REVISION 0x01
  BIST      0x00  HEADER 0x82  LATENCY 0x40  CACHE 0x08
  BASE0     0x80001000  addr 0x80001000  MEM
  BASE1     0x020000a0  addr 0x020000a0  MEM
  BASE2     0x20050400  addr 0x20050400  MEM
  BASE3     0xfffff000  addr 0xfffff000  MEM
  BASE5     0xfffff000  addr 0xfffff000  MEM
  MAX_LAT   0x07  MIN_GNT 0x40  INT_PIN 0x02  INT_LINE 0x0a
  BYTE_0    0x3c  BYTE_1  0x10  BYTE_2  0x09  BYTE_3  0x00

pci bus 0x0000 cardnum 0x0e function 0x00: vendor 0x125d device 0x1978
 ESS Technology ES1978 Maestro 2E
 CardVendor 0x103c card 0x0009 (Hewlett-Packard Company, Card unknown)
  STATUS    0x0290  COMMAND 0x0005
  CLASS     0x04 0x01 0x00  REVISION 0x10
  BIST      0x00  HEADER 0x80  LATENCY 0x40  CACHE 0x00
  BASE0     0x0000f801  addr 0x0000f800  I/O
  MAX_LAT   0x18  MIN_GNT 0x02  INT_PIN 0x01  INT_LINE 0x05
  BYTE_0    0x7f  BYTE_1  0x90  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0000 cardnum 0x0e function 0x01: vendor 0x125d device 0x1978
 ESS Technology ES1978 Maestro 2E
 CardVendor 0x103c card 0x0009 (Hewlett-Packard Company, Card unknown)
  STATUS    0x0290  COMMAND 0x0001
  CLASS     0x07 0x80 0x00  REVISION 0x10
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x00
  BASE0     0x0000f401  addr 0x0000f400  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x05
  BYTE_0    0x7f  BYTE_1  0x90  BYTE_2  0x00  BYTE_3  0x00
#

And:

# pciconf -lv
hostb0 at pci0:0:0:        class=0x060000 card=0x00000000 chip=0x71928086 rev=0x03 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Not Implemented)'
    class    = bridge
    subclass = HOST-PCI
none0 at pci0:2:0: class=0x030000 card=0x0810126f chip=0x0810126f rev=0xa6 hdr=0x00
    vendor   = 'Silicon Motion Inc'
    device   = 'SM810 LynxE'
    class    = display
    subclass = VGA
isab0 at pci0:7:0: class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M ISA Bridge'
    class    = bridge
    subclass = PCI-ISA
atapci0 at pci0:7:1:       class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M IDE Controller'
    class    = mass storage
    subclass = ATA
uhci0 at pci0:7:2: class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M USB Interface'
    class    = serial bus
    subclass = USB
none1 at pci0:7:3: class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M Power Management Controller'
    class    = bridge
cbb0 at pci0:10:0: class=0x060700 card=0x0009103c chip=0xac1c104c rev=0x01 hdr=0x02
    vendor   = 'Texas Instruments (TI)'
    device   = 'PCI1225 PC Card CardBus Controller'
    class    = bridge
    subclass = PCI-CardBus
cbb1 at pci0:10:1: class=0x060700 card=0x0009103c chip=0xac1c104c rev=0x01 hdr=0x02
    vendor   = 'Texas Instruments (TI)'
    device   = 'PCI1225 PC Card CardBus Controller'
    class    = bridge
    subclass = PCI-CardBus
none2 at pci0:14:0:        class=0x040100 card=0x0009103c chip=0x1978125d rev=0x10 hdr=0x00
    vendor   = 'ESS Technology'
    device   = 'ES1978 Maestro-2E Audiodrive, ES1970 Canyon3D'
    class    = multimedia
    subclass = audio
none3 at pci0:14:1:        class=0x078000 card=0x0009103c chip=0x1978125d rev=0x10 hdr=0x00
    vendor   = 'ESS Technology'
    device   = 'ES1978 Maestro-2E Audiodrive, ES1970 Canyon3D'
    class    = simple comms
#

buildkernel repeatedly fails as follows:

MAKE=make sh /usr/src/sys/conf/newvers.sh SIXRC1
cc -c -O2 -pipe -fno-strict-aliasing  -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -fformat-extensions -std=c99  -nostdinc -I-  -I. -I/usr/src/sys -I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf -I/usr/src/sys/contrib/dev/ath -I/usr/src/sys/contrib/dev/ath/freebsd -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Werror  vers.c
linking kernel
ess.o(.text+0xe): In function `ess_lock':
: undefined reference to `sbc_lock'
ess.o(.text+0x22): In function `ess_unlock':
: undefined reference to `sbc_unlock'
*** Error code 1

Stop in /usr/obj/usr/src/sys/SIXRC1.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
root at omni /usr/src #
>How-To-Repeat:
Attempt to compile custom kernel using latest 6.0RC-1 sources with support for ES1978 Maestro-2E Audiodrive              
>Fix:
              
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list