Can't build boot blocks after new GPT attributes added

Jeremy Chadwick freebsd at jdc.parodius.com
Wed Oct 27 07:57:20 UTC 2010


The below commit has broken the ability to build system boot blocks
(including pxeldr) the "historic way"[1]:

http://freshbsd.org/2010/10/17/20/10/00

The breakage on RELENG_8 (dated as of a few minutes ago):

========================================
# rm -fr /usr/obj/*
# cd /sys/boot
# make clean
[...]
# make
[...]
cc -DBOOTPROG=\"gptboot\"  -Os  -fno-guess-branch-probability  -fomit-frame-pointer  -fno-unit-at-a-time  -mno-align-long-strings  -mrtd  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3  -DGPT  -DUFS1_AND_UFS2  -DSIOPRT=0x3f8  -DSIOFMT=0x3  -DSIOSPD=9600  -I/usr/src/sys/boot/i386/gptboot/../../common  -I/usr/src/sys/boot/i386/gptboot/../common  -I/usr/src/sys/boot/i386/gptboot/../btx/lib -I.  -I/usr/src/sys/boot/i386/gptboot/../boot2  -Wall -Waggregate-return -Wbad-function-cast -Wcast-align  -Wmissing-declarations -Wmissing-prototypes -Wnested-externs  -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings  -Winline --param max-inline-insns-single=100 -ffreestanding -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -m32 -march=i386 -std=gnu99   -c /usr/src/sys/boot/i386/gptboot/../../common/gpt.c
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c: In function 'gptfind':
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:128: error: 'GPT_ENT_ATTR_BOOTME' undeclared (first use in this function)
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:128: error: (Each undeclared identifier is reported only once
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:128: error: for each function it appears in.)
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:130: error: 'GPT_ENT_ATTR_BOOTONCE' undeclared (first use in this function)
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c: In function 'gptbootfailed':
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:217: error: 'GPT_ENT_ATTR_BOOTONCE' undeclared (first use in this function)
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:222: error: 'GPT_ENT_ATTR_BOOTFAILED' undeclared (first use in this function)
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c: In function 'gptbootconv':
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:249: error: 'GPT_ENT_ATTR_BOOTME' undeclared (first use in this function)
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:250: error: 'GPT_ENT_ATTR_BOOTONCE' undeclared (first use in this function)
/usr/src/sys/boot/i386/gptboot/../../common/gpt.c:251: error: 'GPT_ENT_ATTR_BOOTFAILED' undeclared (first use in this function)
*** Error code 1

Stop in /usr/src/sys/boot/i386/gptboot.
*** Error code 1

Stop in /usr/src/sys/boot/i386.
*** Error code 1

Stop in /usr/src/sys/boot.
========================================

Please advise.  If there is a new/correct method, then I'd like to know
what it is, in addition to the Handbook needing to be updated.

[1]: http://www.freebsd.org/doc/handbook/serialconsole-setup.html
     (See Section 26.6.5.2)

-- 
| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-arch mailing list