Subject: Re: Shared library troubles
To: Andy Finnell <andyf@vei.net>
From: Roger Brown <rogerhb@xtra.co.nz>
List: port-mac68k
Date: 08/10/1999 15:28:51
Where can I find the source to the mit-pthreads with the mac68k patches?
Looks worth investigating

Regards

Roger
----------
>From: Andy Finnell <andyf@vei.net>
>To: Alex Zepeda <garbanzo@hooked.net>
>Cc: port-mac68k@netbsd.org
>Subject: Re: Shared library troubles
>Date: Thu, Jul 8, 1999, 4:44 am
>

>Alex Zepeda wrote:
>> > > Do you have duplicate sets of headers installed?
>> >
>> > So its a class or a structure?  I was think along the lines of a
>> > function...  I didn't think to check the headers, but I don't think so.
>> > I'll check.
>> 
>> I'm pretty sure.  I can't think of any reason why a function's size would
>> be checked (in fact, that's almost the whole point of shlibs)..  also,
>> turn off any exotic options.
>
>I've tracked down what the symbol is.  In the pthread's stdio.h header,
>the symbol __sF (what ld.so is complaining about changing sizes) is an
>extern array of FILE.  
>
>__BEGIN_DECLS
>extern FILE __sF[];
>__END_DECLS
>
>Right before this FILE is defined (redefined?). Later on in this file we
>have some important #defines:
>
>#define stdin (&__sF[0])
>#define stdout  (&__sF[1])
>#define stderr  (&__sF[2])
>
>With some testing I've found I only get this warning when I reference
>stdin, stdout, or stderr directly.  Since I don't touch any of the file
>stuff in any of my files, it maybe something in a file I didn't write. 
>Could someone with access to mit-pthreads on another netbsd machine try
>this test?  Simply dynamically link in the pthread library and try to
>reference stdin, stdout, or stderr.  This would help me a lot.
>
>Thanks,
>
> -andy