Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Feb 2006 09:23:30 -0800
From:      James Bowman <jamesb@acelere.net>
To:        freebsd-current@freebsd.org
Subject:   Error building acpi_wakecode.S
Message-ID:  <20060211172330.GL22519@colossus.acelere.net>

next in thread | raw e-mail | index | archive | help
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



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