This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Re: linking problem when using "fopen"
- From: jyl087 at netscape dot net
- To: jlarmour at redhat dot com (Jonathan Larmour), robin dot farine at acn-group dot ch (Robin Farine)
- Cc: ecos-discuss at sources dot redhat dot com (eCos users)
- Date: Thu, 04 Apr 2002 13:54:28 -0500
- Subject: RE: Re: [ECOS] linking problem when using "fopen"
Jonathan Larmour <jlarmour@redhat.com> wrote:
>Robin Farine wrote:
>>
>> On Tue, 2002-04-02 at 00:13, jyl087@netscape.net wrote:
>> > When I use the "fopen" call in my eCos application, I have problems
>> > with linking. It seems that when "fopen_inner" calls "new Cyg_StdioStream"
>> > it drags in all kinds of C++ exception handling cruft. I've verified
>> > that fopen.cxx was compiled with "-fno_rtti -fno_exceptions", but
>> > for some reason, the "new" call drags in all the RTTI and exception
>> > handling stuff.
>> >
>> > I've verified that by commenting out the "new Cyg_StdioStream" call in
>> > "fopen_inner" in the "fopen.cxx" file, my link errors go away, but
>> > obviously fopen no longer works.
>> >
>> > Any ideas?
>>
>> Using the non-throwing form of operator new might work:
>>
>> new (std::nothrow) Cyg_StdioStream(...);
>
>I'm afraid I doubt this will work.
>What C++ cruft does it pull in that causes a problem?
>Jifl
I'm using GCC 2.95.2. The libgcc.a associated with this compiler
implements "new" with exceptions. Robin is on the right track, but
the "new (std:nothrow)" form doesn't quite work, as Cyg_Stdio_Stream's
constructor doesn't match the std:nothrow form of "new".
I found the solution in the ecos-discuss archives from Ryouzaburou
Suzuki -
http://source.redhat.com/ml/ecos-discuss/2000-11/msg00235.html
Seems like this problem has been known for a couple of years. Why hasn't
the fix been incorporated into the source tree?
/Jim
__________________________________________________________________
Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/
Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss