Next: Amiga notes, Previous: Generic notes, Up: Notes
mprotect()
call will not work unless it is used on memory that has been allocated with
mmap()
. This needs to be investigated further.
MP_LIBRARYSTACK_SUPPORT
preprocessor macro is defined when
building the mpatrol library on IRIX platforms then the libexc library
must also be linked in. However, execution speed will fall dramatically since
the unwind()
function within that library calls malloc()
,
free()
and other memory operation functions every time it is invoked.
The only reason to use this library rather than the default method of stack
traversal on MIPS would be if that method failed due to a bug (in which case
it should be reported anyway).
unwind()
function on MIPS platforms may have problems
with call stack traversal in alternative stacks, such as those used by signal
handlers. The call stack will then terminate at the point at which the handler
was called rather than unwinding to the top of the stack.
dlopen()
, shl_load()
or similar functions1.
In addition, symbols cannot currently be read from any COFF or XCOFF shared
libraries on LynxOS and some work needs to be done to build the mpatrol library
as a shared library on LynxOS.
[1] There
is an mpatrol library patch that supports reading symbols from shared libraries
opened by dlopen()
which can be downloaded from
http://heanet.dl.sourceforge.net/sourceforge/mpatrol/mpatrol_patch2.tar.gz.