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 Kindler wrote:
> Hi,
> 
> Mike Sharov released the new version 1.3 of the uSTL library two days 
> ago. I updated the eCos uSTL port to this new version. The port is 
> available here for review:
> 
> http://www.cetoni.de/ecos_ustl20090806.zip
> 
> I changed some further stuff we dicussed on the mailing list:
> 
> - the library now builds without -Wundef - so I could keep the changes
> to the uSTL 1.3 sources to a minimum
> 
> - new stdint.h file - i created a stdint.h file from the newlib stdint.h 
> mentioned in this message 
> http://ecos.sourceware.org/ml/ecos-patches/2009-08/msg00008.html that 
> should be more portable
> 
> 
> If the uSTL package is compiled with filestreams support then building 
> test cases succeeds. If filestrams are disabled and package File I/O is 
> not present then the build error mentioned in 
> http://ecos.sourceware.org/ml/ecos-devel/2009-08/msg00000.html occures 
> when building eCos test cases.
> 
> I would kindly ask you to review this port to tell me things that should 
> be changed prior to CVS import of this package.

Hi Uwe

Thank you for your contribution! Just now I tested your latest stuff
with your libc patch together against clean CVS

i. arm-eabi toolchain

A) uSTL package was built successfully with 1 warning. That's was

diff --git a/packages/language/cxx/ustl/current/src/uexception.cpp b/packages/language/cxx/ustl/current/src/uexception.cpp
--- a/packages/language/cxx/ustl/current/src/uexception.cpp
+++ b/packages/language/cxx/ustl/current/src/uexception.cpp
@@ -35,7 +35,7 @@ void exception::info (string& msgbuf, co
 /// Reads the exception from stream \p is.
 void exception::read (istream& is)
 {
-    uint32_t stmSize;
+    uint32_t stmSize = 0;
     xfmt_t fmt = xfmt_Exception;
     is >> fmt >> stmSize >> m_Backtrace;
     assert (fmt == m_Format && "The saved exception is of a different type.");

B) All test passed, but: btv05, btv16 (my target has not enough memory)
and bvt25 (I didn't turn on filestream support);


ii. i386-elf toolchain

A) All tests were built with this quick tweak:

diff --git a/packages/language/cxx/ustl/current/src/bktrace.cpp b/packages/language/cxx/ustl/current/src/bktrace.cpp
--- a/packages/language/cxx/ustl/current/src/bktrace.cpp
+++ b/packages/language/cxx/ustl/current/src/bktrace.cpp
@@ -6,7 +6,7 @@
 #include "bktrace.h"
 #include "sostream.h"
 #include "mistream.h"
-#if linux && __GNUC__
+#if 0 // linux && __GNUC__
     #include <execinfo.h>
 #else
     static inline int backtrace (void**, int)			{ return (0); }

Certainly, It can be fixed more elegant with some ifdef  __ECOS__, if
you would place in CDL

    cdl_option CYGPKG_USTL_CFLAGS_ADD {
        ...
        default_value -D__ECOS__
    }

B) Unfortunately, I got SIGSEG in vsnprintf(). It seems, I should
investigate more time for this issue, may be I missed something.

Had you success with uSTL on synthetic target? All tests I built as

ecosconfig new <target> ustl

Once again, thank you for this package.

Kind regards,

Sergei


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