[ECOS] Synth environment malloc seg faults under Fedora Linux

Dan Jakubiec djakubiec@yahoo.com
Fri Jan 30 20:04:00 GMT 2004


Hi Bart,

Thanks for the suggestions.  I went ahead and built a synth executable
under the older RH9 system using the older toolchain.  I used the same
eCos code base I've been working with under Fedora.  I then copied the
resulting executable to my Fedora box and sure enough: it worked!  Good
call!

So it appears that the new GNU toolchain is causing me some strange
problems with the synth environment build.  Just FYI, my gcc versions
are:

RH9, works:
 gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

Fedora, doesn't: 
 gcc (GCC) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)

I suppose the "quick" solution for me is to install the gcc 3.2.2
compiler on my Fedora box and use that for synth builds.  This should
be fine for my purposes.

Is there someone in particular who deals with the compiler version
migration issues?  Can I provide any more information about this or
help out in some way?

Thanks again,

--
Dan Jakubiec
Systech Corp

--- Bart Veer <bartv@ecoscentric.com> wrote:
> >>>>> "Dan" == Dan Jakubiec <djakubiec@yahoo.com> writes:
> 
>     Dan> We've been running the eCos synthetic environment under
>     Dan> RedHat Linux 9.0 for quite awhile now. Recently, I installed
>     Dan> a new development system running Fedora Core 1 (the new
>     Dan> RedHat; RedHat 10?), rebuilt everything on the new machine,
>     Dan> and the synth environment no longer runs.
> 
>     Dan> When I run the synth environment (with --io) it keeps
> getting
>     Dan> segmentation faults down in
>     Dan> Cyg_Mempool_dlmalloc_Implementation::try_alloc() at the last
>     Dan> call to set_head(). This function is called in response to
>     Dan> init-time malloc() requests.
> 
>     Dan> I'm about to start in on figuring out what the problem is,
>     Dan> but I wanted to check if anyone has run into this yet. Our
>     Dan> code based is mostly based on the eCos v2.0 release with
> some
>     Dan> miscellaneous patches.
> 
>     Dan> Any ideas?
> 
> Nothing definite. After a major upgrade it could be toolchain changes
> causing the problem. If you build an executable under RH9 and then
> try
> to run it under Fedora, does that work?
> 
> The other thing worth trying is to look at _linux_entry() in the
> module synth_entry.c in the architectural HAL. Specifically the
> initial call to cyg_hal_sys_brk() which should make sure that all of
> the synthetic target's memory is actually accessible. A SEGV in the
> heap code could indicate that this is no longer working. After the
> brk
> call you should be able to access all memory from 0x02000000 to
> 0x027FFFFF.
> 
> Bart
> 
> -- 
> Bart Veer                       eCos Configuration Architect
> http://www.ecoscentric.com/     The eCos and RedBoot experts


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/

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



More information about the Ecos-discuss mailing list