public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Jabran Bhatti <jabran.tlv@gmail.com>
To: cetoni GmbH - Uwe Kindler <uwe.kindler@cetoni.de>
Cc: eCos Discussion <ecos-discuss@sourceware.org>
Subject: [ECOS] Re: Building C++ application for eCos on ARM
Date: Wed, 18 Sep 2013 13:18:00 -0000	[thread overview]
Message-ID: <CAGujVxZuy_YJAGroFaWGyFcNrPe-wv35GcBR19wW+C7WBLMtkw@mail.gmail.com> (raw)
In-Reply-To: <5238697B.4090205@cetoni.de>

Hello John/cetoni,

Thanks for your replies.

* I tried the stl compatibility layer solution and all goes well until
I get the following error:

/usr/local/include/ptlib/critsec.h:37:30: fatal error:
ext/atomicity.h: No such file or directory

It appears that the ptlib library also requires header files that are
actually extensions of STL (header files in the folder ext/). These
extensions are not defined in ustl, which means this solution will not
work. Am I right?

* I also tried to build a toolchain including Erik Aagaard Knudsen's
libstdc++ for eCos (as described in the file
eCos_libstdcxx_compatibility/libstdcxx_compatibility.eak). Here, I
encountered the following problem:  when configuring GCC (4.3.2.), I
get a warning that most of the options such as --enable-languages,
--with-gnu-as, --with-gnu-ld, --with-newlib,... are not recognized.
When i try to build and install GCC next, I get a whole bunch of
assembler messages as follows:

/usr/src/gcc-4.3.2/libiberty/regex.c: In function ‘xregerror’:

/usr/src/gcc-4.3.2/libiberty/regex.c:8089: warning: implicit
declaration of function ‘mempcpy’

/usr/src/gcc-4.3.2/libiberty/regex.c:8089: warning: incompatible
implicit declaration of built-in function ‘mempcpy’

/tmp/ccNe5Dme.s: Assembler messages:

/tmp/ccNe5Dme.s:5991: Error: r13 not allowed here -- `lsr r3,sp,#3'

/tmp/ccNe5Dme.s:6498: Error: r13 not allowed here -- `rsb sp,r3,sp'

/tmp/ccNe5Dme.s:6500: Error: r13 not allowed here -- `lsr r0,sp,#3'

I think these errors might be caused by a conflict between my native
GCC compiler (4.8) and gcc-4.3.2.
So I tried to install gcc-4.3.2 on my machine (32-bit ubuntu 12.04)
from source (since it's no longer available on aptitude). Here, I
encountered a known bug in the linker step
(https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/738098). The
workaround described here didn't work for me.

What do you guys think?

2013/9/17 cetoni GmbH - Uwe Kindler <uwe.kindler@cetoni.de>:
> Hi,
>
> we also had an own library that uses stl and we managed to build it for eCos
> uSTL. We did the following
>
> 1.
> We created an stl compatibility layer: a folder that contains the stl
> include files for eCos:
> vector
> string
> map
> ...
>
> 2.
> Each of these include files contains the same content - it simply includes
> ustl_compat.h file
>
> #ifndef ustl_compat_vectorH
> #define ustl_compat_vectorH
> #include "ustl_compat.h"
>
> #endif
>
> 3.
> The ustl_compat.h file contains the following code:
>
> #ifndef ustl_compatH
> #define ustl_compatH
> #include <ustl.h>
>
> #define std ustl
>
> #endif // ustl_compatH
>
>
> So it simply includes the ustl.h header file and defines the preprocessor
> macro std. So each occurence of std::vector will be replaced by ustl::vector
>
> This worked for us and we could compile the library.
>
>
>
>
>

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

  reply	other threads:[~2013-09-18 13:18 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-17 14:41 cetoni GmbH - Uwe Kindler
2013-09-18 13:18 ` Jabran Bhatti [this message]
2013-09-18 17:14   ` Uwe Kindler
  -- strict thread matches above, loose matches on Subject: below --
2013-08-29 14:33 [ECOS] " Jabran Bhatti
2013-08-29 16:13 ` [ECOS] " John Dallaway
2013-09-02 14:18   ` Jabran Bhatti
2013-09-10 19:13     ` Jabran Bhatti
2013-09-11  8:03       ` John Dallaway

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAGujVxZuy_YJAGroFaWGyFcNrPe-wv35GcBR19wW+C7WBLMtkw@mail.gmail.com \
    --to=jabran.tlv@gmail.com \
    --cc=ecos-discuss@sourceware.org \
    --cc=uwe.kindler@cetoni.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).