public inbox for ecos-devel@sourceware.org
 help / color / mirror / Atom feed
From: "Kurt Siedenburg" <Kurt.Siedenburg@vicom.com>
To: "Guennadi Liakhovetski" <gl@dsa-ac.de>,
		"Gary Thomas" <gary@mlbassoc.com>
Cc: <ecos-devel@ecos.sourceware.org>
Subject: RE: RedBoot built with gcc 3.4.4
Date: Mon, 12 Feb 2007 18:36:00 -0000	[thread overview]
Message-ID: <A1E19912ECD1C149B69381618DE0222E0315CF8B@exchange> (raw)
In-Reply-To: <Pine.LNX.4.63.0702091048300.1799@pcgl.dsa-ac.de>

I'd be interested in the answer to this question also - although our
situation is different:
- We have seen the same crash you observed.
However
- It happens *very* rarely.
  Over a period of 12 months I've seen it 3 times.
  Thus in >99.9(9)% of bootups it works fine.
  However - once it gets into this state - chances are it can be
repro'd.
- We have no idea how to reproduce the problem.
- We use a pretty old version of ecos (1.3 based).
- We use gcc 2.95.3
- Our CPU is Xscale

Looking at the differences (eg. reproducibility) I think that the root
cause of our problems is likely to be different.  Nevertheless I'd be
interested in the solution to your problem.  Maybe it applies to us
also.
Just looking at our symptoms I'd think there's some uninitialized
variable somewhere in early ecos startup.  And most of the times it
contains a value not causing trouble.  Only occasionally ... .


Regards,
  Kurt Siedenburg


-----Original Message-----
From: ecos-devel-owner@ecos.sourceware.org
[mailto:ecos-devel-owner@ecos.sourceware.org] On Behalf Of Guennadi
Liakhovetski
Sent: Friday, February 09, 2007 1:53 AM
To: Gary Thomas
Cc: ecos-devel@ecos.sourceware.org
Subject: Re: RedBoot built with gcc 3.4.4

On Fri, 9 Feb 2007, Guennadi Liakhovetski wrote:

> Looking further

Auch... I came as far as to the loop

/*----------------------------------------------------------------------
--*/
/* C++ support - run initial constructors
*/

#ifdef CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
cyg_bool cyg_hal_stop_constructors;
#endif

typedef void (*pfunc) (void);
extern pfunc __CTOR_LIST__[];
extern pfunc __CTOR_END__[];

void
cyg_hal_invoke_constructors (void)
{
#ifdef CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
     static pfunc *p = &__CTOR_END__[-1];

     cyg_hal_stop_constructors = 0;
     for (; p >= __CTOR_LIST__; p--) {
 	    diag_printf("Invoking constructor @ 0x%08x\n", *p);
         (*p) ();
         if (cyg_hal_stop_constructors) {
             p--;
             break;
         }
     }
#else
     pfunc *p;

     for (p = &__CTOR_END__[-1]; p >= __CTOR_LIST__; p--) {
 	    diag_printf("Invoking constructor @ 0x%08x\n", *p);
         (*p) ();
     }
#endif

And put the diag_printf() there... And it prints 1 address and that's
it... So, do I understand it right that here it is supposed to call C++
constructors?... Oh, no... and already in the first one it crashes...
So, some C++ internal calling conventions have changed. I am pretty
helpless in what concerns C++ ABI... Anyone?

Thanks
Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany

  parent reply	other threads:[~2007-02-12 18:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-07 11:52 Guennadi Liakhovetski
2007-02-07 12:11 ` Andrew Lunn
2007-02-07 12:43   ` Guennadi Liakhovetski
2007-02-07 12:52     ` Andrew Lunn
2007-02-07 13:00       ` Guennadi Liakhovetski
2007-02-07 13:03         ` Gary Thomas
2007-02-07 13:24           ` Guennadi Liakhovetski
2007-02-07 13:42             ` Gary Thomas
2007-02-07 13:59               ` Guennadi Liakhovetski
2007-02-07 14:32                 ` Gary Thomas
2007-02-09  7:55                   ` Guennadi Liakhovetski
2007-02-09  9:53                     ` Guennadi Liakhovetski
2007-02-09 10:18                       ` Guennadi Liakhovetski
2007-02-12 18:36                       ` Kurt Siedenburg [this message]
2007-02-13 17:12                         ` Guennadi Liakhovetski
2007-02-07 12:56     ` Edgar Grimberg

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=A1E19912ECD1C149B69381618DE0222E0315CF8B@exchange \
    --to=kurt.siedenburg@vicom.com \
    --cc=ecos-devel@ecos.sourceware.org \
    --cc=gary@mlbassoc.com \
    --cc=gl@dsa-ac.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).