can't build kernel without atkbd

From: Olivier SMEDTS <olivier_at_gid0.org>
Date: Wed, 6 May 2009 22:18:54 +0200
Hello list,

I'm trying to build a -CURRENT amd64 kernel but it fails if I don't
have "device atkbd" in my kernel config file :

# make buildkernel
[...]
linking kernel
kbd.o(.text+0x14c): In function `kbd_configure':
: undefined reference to `__start_set_kbddriver_set'
kbd.o(.text+0x152): In function `kbd_configure':
: undefined reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x177): In function `kbd_configure':
: undefined reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x11f9): In function `kbd_get_switch':
: undefined reference to `__start_set_kbddriver_set'
kbd.o(.text+0x11ff): In function `kbd_get_switch':
: undefined reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x1217): In function `kbd_get_switch':
: undefined reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x1495): In function `kbd_register':
: undefined reference to `__start_set_kbddriver_set'
kbd.o(.text+0x149b): In function `kbd_register':
: undefined reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x14ad): In function `kbd_register':
: undefined reference to `__stop_set_kbddriver_set'
*** Error code 1

Here's the kernel config :

cpu HAMMER
ident QUAD
options SCHED_ULE
options PREEMPTION
options IPI_PREEMPTION
options INET
options INET6
options FFS
options SOFTUPDATES
options UFS_DIRHASH
options COMPAT_IA32
options SYSVSHM
options SYSVMSG
options SYSVSEM
options _KPOSIX_PRIORITY_SCHEDULING
options KBD_INSTALL_CDEV
options STOP_NMI
options AUDIT
options VIMAGE
options PRINTF_BUFR_SIZE=128
options SMP
device acpi
device pci
device vga
device sc
device loop
device ether
device pty
device bpf

If I add "makeoptions DEBUG=-g" like I have usually, here is the error :

[...]
MAKE=make sh /work/src/sys/conf/newvers.sh QUAD
cc -c -O2 -pipe -march=native -fno-strict-aliasing -std=c99 -g -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
-Wno-pointer-sign -fformat-extensions -nostdinc  -I.  -I/work/src/sys
-I/work/src/sys/contrib/altq -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
-mcmodel=kernel -mno-red-zone  -mfpmath=387 -mno-sse-mno-sse2
-mno-sse3 -mno-mmx -mno-3dnow  -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
-Werror  vers.c
linking kernel.debug
kbd.o(.text+0x14c): In function `kbd_configure':
/work/src/sys/dev/kbd/kbd.c:446: undefined reference to
`__start_set_kbddriver_set'
kbd.o(.text+0x152):/work/src/sys/dev/kbd/kbd.c:446: undefined
reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x177):/work/src/sys/dev/kbd/kbd.c:446: undefined
reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x11f9): In function `kbd_get_switch':
/work/src/sys/dev/kbd/kbd.c:293: undefined reference to
`__start_set_kbddriver_set'
kbd.o(.text+0x11ff):/work/src/sys/dev/kbd/kbd.c:293: undefined
reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x1217):/work/src/sys/dev/kbd/kbd.c:293: undefined
reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x1495): In function `kbd_register':
/work/src/sys/dev/kbd/kbd.c:229: undefined reference to
`__start_set_kbddriver_set'
kbd.o(.text+0x149b):/work/src/sys/dev/kbd/kbd.c:229: undefined
reference to `__stop_set_kbddriver_set'
kbd.o(.text+0x14ad):/work/src/sys/dev/kbd/kbd.c:229: undefined
reference to `__stop_set_kbddriver_set'
*** Error code 1

I don't think that's expected because, citing ukbd(4) :
     If you want to use a USB keyboard as your default and not use an AT key-
     board at all, you will have to remove the device atkbd line from the ker-
     nel configuration file.

NOTE : I'm using USB2.

Any hints ?

Thanks,
Olivier

-- 
Olivier Smedts                                                 _
                                        ASCII ribbon campaign ( )
e-mail: olivier_at_gid0.org        - against HTML email & vCards  X
www: http://www.gid0.org    - against proprietary attachments / \

  "Il y a seulement 10 sortes de gens dans le monde :
  ceux qui comprennent le binaire,
  et ceux qui ne le comprennent pas."
Received on Wed May 06 2009 - 18:48:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:47 UTC