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