Error building acpi_wakecode.S

From: James Bowman <jamesb_at_acelere.net>
Date: Sat, 11 Feb 2006 09:23:30 -0800
All,

I hit this problem in "make buildkernel" this morning:

sh _at_/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_at_ -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 _at_/kern/genassym.sh genassym.o > ${.TARGET}
to
        sh _at_/kern/genassym.sh -o ${.TARGET} genassym.o

means that the script no longer uses /dev/stdout.

-- 
James Bowman
http://acelere.net
Received on Sat Feb 11 2006 - 16:23:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:52 UTC