Hello,
Having seen a problem recur in programs running in L4Re just now involving
arrays of a relatively large size allocated statically in functions - about
100000 bytes or so - I was wondering if there are any implicit limitations
with this form of allocation in L4Re. Is it possible that programs have a
limited stack size and that the stack does not expand?
Here is an example of the kind of code that causes an unhandled exception:
uint32_t Spi_gpio::send_units(uint32_t bytes, const uint8_t data[],
uint8_t unit_size, uint8_t char_size)
{
uint32_t chars = bytes / unit_size;
int dc[chars];
And the exception looks like this:
Unhandled exception: PC=0x1019ca8 PFA=0xfffd075a LdrFlgs=0x0
The actual cause of the exception is an access to an element in the dc array.
When I eventually get back to my own experiments with initiating programs in
L4Re - not involved with the problem reported here - I intend to look more
closely at program stack allocation and expansion strategies, so I suppose
this is an appropriate prelude to such work.
Thanks for any guidance that might be offered, as always!
Paul