Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 May 2009 22:18:54 +0200
From:      Olivier SMEDTS <olivier@gid0.org>
To:        current@freebsd.org
Subject:   can't build kernel without atkbd
Message-ID:  <367b2c980905061318j3618bd1cpf2ed4619fd5a3b37@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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=3D128
options SMP
device acpi
device pci
device vga
device sc
device loop
device ether
device pty
device bpf

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

[...]
MAKE=3Dmake sh /work/src/sys/conf/newvers.sh QUAD
cc -c -O2 -pipe -march=3Dnative -fno-strict-aliasing -std=3Dc99 -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=3D8000 --param
inline-unit-growth=3D100 --param large-function-growth=3D1000
-mcmodel=3Dkernel -mno-red-zone  -mfpmath=3D387 -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 ke=
y-
     board at all, you will have to remove the device atkbd line from the k=
er-
     nel configuration file.

NOTE=A0:=A0I'm using USB2.

Any hints ?

Thanks,
Olivier

--=20
Olivier Smedts                                                 _
                                        ASCII ribbon campaign ( )
e-mail: olivier@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."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?367b2c980905061318j3618bd1cpf2ed4619fd5a3b37>