Subject: ABI change(s) on sparc64 port since March, 2002
To: None <port-sparc64@netbsd.org>
From: Rafal Boni <rafal@pobox.com>
List: port-sparc64
Date: 10/22/2003 16:55:59
Folks:
	I just updated the userland on my sparc64 to one I built sometime
	last week (~ 10/16, IIRC, from sources updated that day) and I am
	seeing a very odd issue.  I've been updating kernels fairly often,
	but hadn't updated the userland on this machine since maybe May or
	June of this year.

	Many of my dynamically-linked pkgsrc programs from early 2002 now
	either cause the kernel to spin in a page-fault(?) loop or simply
	dump core; it looks like the dynamic linker may be at fault.

	A traceback of a program that dies looks like the below:

	    #0  0x000000000010b16c in main ()
	    #1  0x000000000010237c in main ()
	    #2  0x00000000001020d4 in _init ()

	The kernel trace when I got one of these "looping on page fault"
	cases looked like so:

db> tr/u
sabtty_intr(1e2c000, e0017e0c, 0, 5, 0, 0) at netbsd:sabtty_intr+0x1c0
sab_intr(1e29400, 0, e0017ed0, 1e34e00, 1185a40, 0) at netbsd:sab_intr+0x7c
?(9236a80, 108000, 25ee000, 0, 3, 1) at 0x1008fc8
pmap_enter(9236a80, 108000, 48fa000, 5, 21, fffffffd) at netbsd:pmap_enter+0xe4
uvm_fault(1d1d620, 5, a09db20, fffe, 0, ffffffffffffffff) at netbsd:uvm_fault+0x
1284
data_access_fault(a28ded0, 30, 4058512c, 10848b, 108c6f, 0) at netbsd:data_acces
s_fault+0x124
?(406de888, 406c7a88, 20, 0, 0, 0) at 0x100871c
emul_sunos32_object(0, 0, 0, 0, 0, 0) at 0x40585118

	I'm not sure if I have any of these cases left, as it was mostly
	happening to the mh tools, which I replaces with a newly-built
	set so I could read/write email :-).  I'm also not quite sure
	what the emul_sunos32_object(...) is supposed to mean or if it
	is just an artifact of how ddb digs for symbols.

	Note that not *all* older pkgsrc binaries die; the static version
	of the pkgsrc `digest' tool from early March, 2002 runs a-ok as 
	do the dynamic-linked tools from the VFlib package also built in
	early March, 2002.  But the binaries from the psutils package,
	built that same day as the VFlib package all seem to dump core
	as described above.


Any thoughts?  Anyone seeing anything similar?
--rafal

----
Rafal Boni                                                     rafal@pobox.com
  We are all worms.  But I do believe I am a glowworm.  -- Winston Churchill