Subject: port-alpha/28767: bootxx_ffs maximum load size exceeded on alpha
To: None <port-alpha-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <paul@chumby.dlib.vt.edu>
List: netbsd-bugs
Date: 12/24/2004 02:00:01
>Number: 28767
>Category: port-alpha
>Synopsis: Oversize bootxx_ffs causes build.sh distribution to fail
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: port-alpha-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Dec 24 02:00:00 +0000 2004
>Originator: Paul Mather
>Release: NetBSD 2.0E
>Organization:
>Environment:
System: NetBSD chumby.dlib.vt.edu 2.0E NetBSD 2.0E (CHUMBY) #0: Tue May 11 12:02:59 EDT 2004 paul@chumby.dlib.vt.edu:/usr/obj/sys/arch/alpha/compile/CHUMBY alpha
Architecture: alpha
Machine: alpha
>Description:
A system rebuild using recent -CURRENT sources (circa 2004-12-21)
fails on alpha building bootxx_ffs in
/usr/src/sys/arch/alpha/stand/bootxx_ffs with a "MAXIMUM LOAD SIZE
EXCEEDED (7832 > 7680)" check failure message.
E-mail from Simon Burge suggests that a newer binutils adding a
section to bootxx_ffs causes bootxx_ffs to grow too large on alpha.
Below is the partial log of the failed build:
-----8<-----8<-----8<-----8<-----8<-----
===> build.sh command: ./build.sh -D /home/netbsd tools kernel=CHUMBY distribution
===> build.sh started: Thu Dec 23 00:51:13 EST 2004
===> No nonexistent/bin/nbmake, needs building.
===> Bootstrapping nbmake
checking for sh... /bin/sh
checking for gcc... cc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
[[...]]
ln -f /usr/src/obj/tooldir.NetBSD-2.0E-alpha/lib/groff/nroff /usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/nbnroff
===> Tools built to /usr/src/obj/tooldir.NetBSD-2.0E-alpha
===> Building kernel: CHUMBY
===> Build directory: /usr/src/sys/arch/alpha/compile/obj/CHUMBY
rm -f a.out [Ee]rrs mklog core *.core .gdbinit
Build directory is /usr/src/sys/arch/alpha/compile/obj/CHUMBY
Don't forget to run "make depend"
depending the kern library objects
# create kern/__assert.d
CC=/usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/alpha--netbsd-gcc /usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/nbmkdep -f __assert.d -- -I/usr/src/sys/lib/libkern/arch/alpha -Dalpha -I../../. -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DDIAGNOSTIC -DALTQ_PRIQ -DLKM -DUCONSOLE -DRND_COM -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -I/usr/src/sys/dist/ipf -nostdinc -isystem /home/netbsd/usr/include /usr/src/sys/lib/libkern/__assert.c
[[...]]
/usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/alpha--netbsd-ld -N -Ttext fffffc0000300000 -e __transfer -G 4 -S -o netbsd ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o
text data bss dec hex filename
4336944 100056 433428 4870428 4a511c netbsd
===> Kernels built from CHUMBY:
/usr/src/sys/arch/alpha/compile/obj/CHUMBY/netbsd
build ===> . (with: NOPOSTINSTALL=1)
Build started at: Thu Dec 23 03:07:52 EST 2004
check-tools ===> .
cleandir ===> .
cleandir ===> tools
cleandir ===> tools/host-mkdep
rm -f a.out [Ee]rrs mklog core *.core config.cache config.log config.status host-mkdep
[[...]]
/usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/alpha--netbsd-ranlib libkern.a
/usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/alpha--netbsd-ld -Ttext 0x20000000 -N -e start -o bootxx_ffs.sym start.o bootxx.o booted_dev.o blkdev.o prom.o prom_disp.o putstr.o panic_putstr.o /usr/src/sys/arch/alpha/stand/bootxx_ffs/obj/lib/sa/libsa.a /usr/src/sys/arch/alpha/stand/bootxx_ffs/obj/lib/kern/libkern.a -Map bootxx_ffs.map
text data bss dec hex filename
7491 336 348 8175 1fef bootxx_ffs.sym
rm -f .gdbinit
echo "set solib-absolute-prefix /home/netbsd" > .gdbinit
creating bootxx_ffs from bootxx_ffs.sym...
-rw-r--r-- 1 root wheel 7832 Dec 23 18:05 bootxx_ffs
checking sizes for bootxx_ffs/bootxx_ffs.sym... MAXIMUM LOAD SIZE EXCEEDED (7832 > 7680)
*** Failed target: bootxx_ffs
*** Failed command: SIZE=/usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/alpha--netbsd-size sh /usr/src/sys/arch/alpha/stand/bootxx_ffs/../common/checksize.sh bootxx_ffs.sym bootxx_ffs 7680 16384 || (rm -f bootxx_ffs ; false)
*** Error code 1
Stop.
nbmake: stopped in /usr/src/sys/arch/alpha/stand/bootxx_ffs
*** Failed target: dependall
*** Failed command: cd /usr/src/sys/arch/alpha/stand/bootxx_ffs; /usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/nbmake realall
*** Error code 1
Stop.
[[...]]
nbmake: stopped in /usr/src
*** Failed target: distribution
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/usr/src" ;; *) this="${dir}/"; real="/usr/src/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /usr/src/obj/tooldir.NetBSD-2.0E-alpha/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget . build NOPOSTINSTALL=1
*** Error code 1
Stop.
nbmake: stopped in /usr/src
ERROR: Failed to make distribution
*** BUILD ABORTED ***
----->8----->8----->8----->8----->8-----
>How-To-Repeat:
Here's how I got the error:
cd /usr/src
./build.sh -D /home/netbsd tools kernel=CHUMBY distribution
The tools and kernel build completed successfully; the distribution
build did not.
>Fix:
Unknown
>Unformatted: