On Thu, 6 Feb 2014, Reginald Beardsley wrote:
FWIW
You can overflow the stack with automatic variables. I've run into
this many times with large arrays in main() and elsewhere. The
symptom is SEGV on entry to the function. It's not uncommon to
encounter code that works fine on several systems, but SEGVs on
another.
Solaris provides a quite generous stack size (10,240 kbytes vs 8192
kbytes for Linux). Multithreaded programs can get themselves into
trouble if they request to reduce the thread stack and the request is
too small.
Initialization is always the hardest part. If C++ code is involved
with statically allocated objects, then it is easy for bad things to
happen since initalization order is somewhat arbitrary and may depend
on the order the objects were provided to the linker. Even with C,
bad things can happen if assumptions are made regarding uninitialized
data values.
Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
_______________________________________________
OpenIndiana-discuss mailing list
[email protected]
http://openindiana.org/mailman/listinfo/openindiana-discuss