[Gc] GC, Solaris and threads

Emmanuel Stapf [ES] manus at eiffel.com
Thu Jan 12 11:13:51 PST 2006


Hi,

I posted a message last week about compiling the GC on Solaris 10 on AMD64 to see
if it can be used on this platform, but since I failed to do it by myself, I've
tried to compile it on 32 bits mode instead which seems to work, but my program is
failing in `GC_my_stack_limits':

void GC_my_stack_limits()
{
    int dummy;
    register ptr_t hottest = (ptr_t)((word)(&dummy) & ~(HBLKSIZE-1));
    register GC_thread me = GC_lookup_thread(thr_self());
    register size_t stack_size = me -> stack_size;

...

Because `me' is null, that is to say that the call to GC_lookup_thread is failing.
Any idea why?

My feeling is that I thought I was using POSIX threads, but I guess not since it
uses `thr_self', unless it does not matter on Solaris. I've configured version 6.6
of the GC using the following command line:

./configure -enable-threads-type=posix

When I stepped into GC_lookup_thread, only one entry in this table was filled. My
feeling is that I'm not doing the thread redirection rights.

Can anyone point me on the right thing to do for Solaris?

Thanks,
Manu
 
------------------------------------------------------------------------  
Eiffel Software	
805-685-1006	
http://www.eiffel.com	
Customer support: http://support.eiffel.com	
Product information: mailto:info at eiffel.com	
User group: http://groups.eiffel.com/join	
------------------------------------------------------------------------ 



More information about the Gc mailing list