Subject: Re: ld bus errors in md_relocate - crt0.o fu?
To: None <port-sparc@NetBSD.ORG>
From: Erik E. Fair <fair@clock.org>
List: port-sparc
Date: 10/14/1997 01:56:06
A little more poking, and we find:

	fair@cesium 3358} size /usr/lib/crt0.o
	text    data    bss     dec     hex
	2600    64      48      2712    a98
	fair@cesium 3359} ls -ls !$
	ls -ls /usr/lib/crt0.o
	4 -r--r--r--  1 bin  bin  3932 Aug 22 20:12 /usr/lib/crt0.o

(cesium has the previous version of crt0.o)

	root@atomic 99} size /usr/lib/crt0.o
	text    data    bss     dec     hex
	2656    8       48      2712    a98
	root@atomic 100} ls -ls !$
	ls -ls /usr/lib/crt0.o
	4 -r--r--r--  1 bin  bin  3932 Oct 10 05:45 /usr/lib/crt0.o

The key difference is in the definition of the RCS ID string. Old style, it
was a "static char" array. New version, it's a "static const char" array.
The addition of "const" apparently moved the string from initialized data
space into text space, and "ld" is choking on that in md_relocate().

Is anyone else who is running a sparc system built since Oct 10 sup having
this problem? My temptation is to turn off LIBC_SCCS in the Makefile to
make the string disappear entirely...

	Erik <fair@clock.org>