In my previous posting I also wanted to mention that unwinding support
in C can bring in some additional costs. The exceutable may have to have
an additional section which contains records that help the unwinder do its
job. So that is an increase in the executable size. On a VM system, you
may be able to avoid loading that into memory until it is needed; however,
it may be the case that these records contain address references that
need to be subject to relocation (e.g. for shared libraries which don't
have a fixed address). In that case, not only are they loaded, but due to the
modification, the pages have to be a process-private mapping (consumes
non-shared memory).