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: