Excellent point.
> Therefore, Digital Unix doesn't allow a process to fork() unless it can
> commit swap space for every single text and data page for the process.
As I understand it, HP-UX has an interesting way of dealing with this. If
an executable's or shared library's file permissions are read-only, it is
assumed you won't debug it. If an executable or shared library has file
permissions that allow writing by *anyone*, it is assumed you might debug
it. I believe this is checked once at the time of exec() and never again.
Not infallible, but not a bad guess either.
Tradeoff: Once a page is read-only, you don't have the option of setting a
breakpoint on that page. At least this algorithm gives you the *option* of
either behavior (memory saving vs. debugging) via toggling file
permissions.
Removing all write permissions from executables and shared libraries on
HP-UX is a nice, but little known, optimization. I don't know if this is
specific to HP-UX, but so far have only heard of this in reference to
HP-UX.
OT: You can wreak havoc by setting breakpoints in libc.
Impress your friends. :-o
Regards,
Chuck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/