Subject: __link_set_add_bss() and objcopy from ELF to a.out
To: None <port-cats@netbsd.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-cats
Date: 12/07/2002 20:07:38
Today I build a new kernel for cats, but I get the following errors:

---
/usr/tools/arm/bin/arm--netbsdelf-ld -T ../../../../arch/cats/conf/kern.ldscript -X -o netbsd ${SYSTEM_OBJ} vers.o
text	data	bss	dec	hex	filename
3167880	431040 	175740 	3774660	3998c4 	netbsd
/usr/tools/arm/bin/arm--netbsdelf-dbsym netbsd || true
/usr/tools/arm/bin/arm--netbsdelf-objcopy -O a.out-arm-netbsd -R .ident -R .arm.atpcs netbsd netbsd.aout
BFD: netbsd.aout: can not represent section `link_set_evcnts' in a.out object file format
/usr/tools/arm/bin/arm--netbsdelf-objcopy: netbsd.aout: Nonrepresentable section on output
BFD: netbsd.aout: can not represent section `link_set_evcnts' in a.out object file format
/usr/tools/arm/bin/arm--netbsdelf-objcopy: netbsd.aout: Nonrepresentable section on output
*** Error code 1

Stop.
---

It seems the problem is __link_set_add_bss() which was
added to sys/kern/subr_autoconf.c in rev 1.79.
__link_set_*() macros are defined in sys/cdefs_{aout,elf}.h
and they are different between a.out and ELF.

What is the right solution?
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp