This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: eCos uSTL 1.3 port for review


Uwe

Today when I do re-test all from scratch (ustl build on synthetic), I
found that this patch does not work. It seems that I ran in false clean
up.  The previous tweak:

    virtual ~Cyg_VsnprintfStream() { /* *s_ = '\0'; */ }

works only. I cannot know why this assignment

    *s_ = '\0';

there :-(

So, such the desctuctor (the below) works for synthetic ustl build

    virtual ~Cyg_VsnprintfStream() {}

I'm sorry about. It seems we should ask Jonathan Larmour about this
terminator.

Sergei

On Thu, Aug 06, 2009 at 04:56:03PM +0300, Sergei Gavrikov wrote:
> On Thu, Aug 06, 2009 at 04:25:11PM +0300, Sergei Gavrikov wrote:
> > On Thu, Aug 06, 2009 at 03:44:16PM +0300, Sergei Gavrikov wrote:
> > > Uwe Kindler wrote:
> > > > It would be really great, If you could investigate a little bit more, 
> > > > what causes the SIGSEG for synthetic target. Would you be so kind to run 
> > > > the new snprintf_c99.c test on synthetic target when C99 compliance 
> > > > activated to check if my vfnprintf() patch is working properly?
> > >  
> > > Uwe, 
> > > 
> > > snprintf_c99 test passed successfully on synth. It seems that I should
> > > grep all  #if linux in ustl and look on that. I will try to rebuild ustl
> > > with assertions and will try to re-run the tests. I'll let you know what
> > > I will get then.
> > 
> > Hm, Uwe, SIGSEG occured on a call of a destructor in vsnprintf.cxx (it's
> > not your source). The uSTL test run on synthetic target with this dirty
> > tweak. Do you have any thoughts?
>  
> With this patch both set of tests libc/stdio and cxx/ustl passed
> successfully on synthetic target.
> 
> Sergei

> Index: vsnprintf.cxx
> ===================================================================
> RCS file: /cvs/ecos/ecos/packages/language/c/libc/stdio/current/src/common/vsnprintf.cxx,v
> retrieving revision 1.6
> diff -u -r1.6 vsnprintf.cxx
> --- vsnprintf.cxx	29 Jan 2009 17:49:53 -0000	1.6
> +++ vsnprintf.cxx	6 Aug 2009 13:49:24 -0000
> @@ -71,7 +71,7 @@
>  public:
>      Cyg_VsnprintfStream(char* s): s_(s) {}
>  
> -    virtual ~Cyg_VsnprintfStream() { *s_ = '\0'; }
> +    virtual ~Cyg_VsnprintfStream() { if (s_) *s_ = '\0'; }
>  
>      virtual Cyg_ErrNo write( const cyg_uint8 *buffer,
>          cyg_ucount32 buffer_length, cyg_ucount32 *bytes_written );




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]