From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27964 invoked by alias); 7 Aug 2009 11:31:50 -0000 Received: (qmail 27951 invoked by uid 22791); 7 Aug 2009 11:31:49 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_93,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-fx0-f220.google.com (HELO mail-fx0-f220.google.com) (209.85.220.220) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 07 Aug 2009 11:31:44 +0000 Received: by fxm20 with SMTP id 20so1325789fxm.0 for ; Fri, 07 Aug 2009 04:31:41 -0700 (PDT) Received: by 10.204.117.203 with SMTP id s11mr2337111bkq.55.1249644700846; Fri, 07 Aug 2009 04:31:40 -0700 (PDT) Received: from smtp.gmail.com ([86.57.137.251]) by mx.google.com with ESMTPS id d13sm2417500fka.2.2009.08.07.04.31.39 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 07 Aug 2009 04:31:40 -0700 (PDT) Date: Fri, 07 Aug 2009 11:31:00 -0000 From: Sergei Gavrikov To: cetoni GmbH - Uwe Kindler Cc: ecos-patches@sourceware.org, John Dallaway Subject: Re: eCos uSTL 1.3 port for review Message-ID: <20090807113259.GA1446@sg-ubuntu.local> References: <4A7A94D0.2010201@cetoni.de> <20090806122020.GA12099@sg-ubuntu.local> <4A7ACCCB.6070602@cetoni.de> <20090806124416.GA13434@sg-ubuntu.local> <20090806132511.GA18483@sg-ubuntu.local> <20090806135603.GA25618@sg-ubuntu.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090806135603.GA25618@sg-ubuntu.local> User-Agent: Mutt/1.5.13 (2006-08-11) X-IsSubscribed: yes Mailing-List: contact ecos-patches-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-patches-owner@ecos.sourceware.org X-SW-Source: 2009-08/txt/msg00020.txt.bz2 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 );