This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: finding out what's taking space in .bss
- From: <heinricg at esiee dot fr>
- To: Andrew Lunn <andrew at lunn dot ch>
- Cc: Gary Thomas <gary at mlbassoc dot com>, ecos-discuss at sources dot redhat dot com
- Date: Mon, 09 Feb 2004 17:17:03 +0100
- Subject: Re: [ECOS] finding out what's taking space in .bss
-------------------
> > 000d11a0 00000004 B _cyg_hal_compiler_dummy
> > 000d11c0 00000004 B __mem_fault_handler
> > 000d11c4 A __bss_end
> > 000d11c4 A _end
> > 000d11c8 A __heap1
> >
> > what are those absolute (A) symbols for which no size is given?
>
> They are normally markers. eg to zero the bss, it needs to know
where
> the end of the bss is. Hence __bss_end.
>
> > Apparently, I have a 2k exception_stack between D03E0 and D0BE0. I
> > also have over 1k in the idle_thread_stack. I may need to
investigate
> > this.
> You can reduce the idle_thread_stack down. Its 1K because its
possible
> for the HAL to link in a function that is called in the idle
> thread. This could for example change the power saving of the
> processor. Such a function needs some stack space. For "normal"
> systems 1k does not count, so 1k seems a reasonable default.
>
the funny thing is CYGNUM_THREADS_IDLE_STACK_SIZE is set to 512 in the
configuration tool, I have SMP support turned off, and there are 1120
bytes between idle_thread_stack and the next symbol. Did I read the
map incorrectly?
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss