From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Larmour To: james chen Cc: ecos-discuss@sources.redhat.com Subject: Re: [ECOS] file system initialize Date: Wed, 18 Jul 2001 06:33:00 -0000 Message-id: <3B559024.1520551B@redhat.com> References: <000701b27ac1$191666c0$c408aa0a@inc.inventec> <3B544E67.98509DF9@redhat.com> <000701c10e56$20506300$c408aa0a@inc.inventec> X-SW-Source: 2001-07/msg00544.html james chen wrote: > > > james chen wrote: > > > > > > Hi, > > > I use MTAB_ENTRY to static mount a fs. when I debug my fs, I found > > > that fs->mount is called before dlmalloc initialize. so malloc called > > > failure in mount. may be the init priority of > > > fileio_initializer(io\fileio\src\misc.cxx) must be changed, can anyone > tell > > > me how to change it! > > > > > > static Cyg_Fileio_Init_Class fileio_initializer > > > CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_IO); ??? > > > > fileio _should_ be initialized before dlmalloc. dlmalloc is initialized > > with priority "CYGBLD_ATTRIB_INIT_BEFORE(CYG_INIT_LIBC)", which is (from > > infra/current/include/cyg_type.h) 49900. > > > > CYG_INIT_IO is 49000. > > > > Did you compile all of eCos with -finit-priority? Perhaps your tools don't > > support it properly. What version of gcc/binutils you got? > > > my gcc/binutils is arm-elf-gcc with version 2.95 and I have > enable -finit-priority. during my own file system initializing, I need to > call malloc. so now I have to use dynamic mount instead of static mount, am > I right? In general "libc" stuff has to be set up after the I/O stuff because of stdio. However that is somewhat historical, and I could probably change the memory allocator initializer priority to be something earlier now. I'll do that, and you can do that too by editing services/memalloc/common/current/src/heapgen.tcl and changing the CYG_INIT_LIBC to CYG_INIT_IO. Jifl -- Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062 Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine Come to the Red Hat TechWorld open source conference in Brussels! Keynotes, techie talks and exhibitions http://www.redhat-techworld.com/