Subject: Re: XFree dynamic loader
To: Eduardo Horvath <eeh@NetBSD.org>
From: Michael <firstname.lastname@example.org>
Date: 03/28/2005 19:20:19
-----BEGIN PGP SIGNED MESSAGE-----
>> First I thought it's a pthread issue because it /always/ hangs in
>> pthread_sigmask() but the call stack contains some rather funny
>> addresses - shouldn't all (function) pointers have 0 in their upper 32
>> bits when compiled with -mmodel=medlow? It's not the dynamic loader's
> No. When you run 64-bit code, application code can use the `medlow'
> model. The user space mappings are as follows:
> 1) The first 1MB or so should be unmapped to prevent NULL pointer
> dereferences. (Actually it should be mapped with the NFO bit set
> to support speculative loads).
Hmm, the call stack has a 0x0000000000000008 at some point.
> 6) Here's there's a VA hole from 0x000000ffffffffff to
#12 <signal handler called>
#13 0xffffb1a100000000 in ?? ()
... this fired the sig handler...
#14 0x0000000001347bb8 in ?? ()
#15 0xffffffffffffb16d in ?? ()
... but this didn't.
As far as I can tell these 'funny' addresses on the call stack are
related to function pointers, but I have no idea why they're hosed
apparently at random. Paging activity seems to trigger the lockup, but
thanks for the explanation
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
-----END PGP SIGNATURE-----