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