[ECOS] Re: uSTL hello world

John Dallaway john@dallaway.org.uk
Tue Sep 1 13:28:00 GMT 2009


Hi Uwe

Uwe Kindler wrote:

> The stream objects are declared in the file ofstream.cpp:
> 
> #ifdef CYGVAR_USTL_CIN_COUT_CERR
> ifstream cin  (STDIN_FILENO);
> ofstream cout (STDOUT_FILENO);
> ofstream cerr (STDERR_FILENO);
> #endif
> 
> For the creation of these objects there is no constructor priority set -
> could this be the problem? Maybe the stream objects are created prior to
> the creation of the libc stream objects. In the uSTL code there is no
> explicit printf reference. It only uses vsnprintf.

The libc static constructors are at priority 56000+ so should be called
before uSTL constructors at the default priority of 65535. So I don't
think this is the problem. Nevertheless, uSTL static objects should
probably be constructed with elevated priority in case they are needed
within application-level static constructors. Something to think about.

Back to the original problem. It may be easiest to drill down into the
cout call hierarchy under debug and compare with the equivalent call
stack from a working application in order to narrow the problem search
space.

John Dallaway

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list