Error building acpi_wakecode.S
James Bowman
jamesb at acelere.net
Sat Feb 11 09:23:32 PST 2006
All,
I hit this problem in "make buildkernel" this morning:
sh @/kern/genassym.sh genassym.o > assym.s
/usr/obj/usr/src/make.i386/make -f /usr/src/sys/modules/acpi/acpi/../../../i386/acpica/Makefile MAKESRCPATH=/usr/src/sys/modules/acpi/acpi/../../../i386/acpica
cc -O2 -fno-strict-aliasing -pipe -I. -I@ -g -c /usr/src/sys/modules/acpi/acpi/../../../i386/acpica/acpi_wakecode.S
/usr/src/sys/modules/acpi/acpi/../../../i386/acpica/acpi_wakecode.S: Assembler messages:
/usr/src/sys/modules/acpi/acpi/../../../i386/acpica/acpi_wakecode.S:103: Error: suffix or operands invalid for `ljmp'
*** Error code 1
Looking back, a couple of people have hit the same thing in the
past. Well, the cause is a lack of devfs! I am building inside a
jail, and had forgotten to do:
mount -t devfs devfs /usr/jail/dev
The problem starts in the script genassym.sh. genassym.sh uses
/dev/stdout, and if /dev/stdout isn't present, it quietly produces
no output. So assym.s is empty and doesn't define any symbols, so
acpi_wakecode.S cannot assemble.
Changing kmod.mk line 406 from:
sh @/kern/genassym.sh genassym.o > ${.TARGET}
to
sh @/kern/genassym.sh -o ${.TARGET} genassym.o
means that the script no longer uses /dev/stdout.
--
James Bowman
http://acelere.net
More information about the freebsd-current
mailing list