On Mon, Mar 21, 2011 at 4:00 PM, Lassi Tuura <[email protected]> wrote: >>>> 1. On many distributions, _dl_debug_state compiles to a single 'ret'. ... > As long as _dl_debug_state() has enough space to patch in the jump to our > code
A single 'ret' is a single byte, which isn't enough space to patch anything (which was my point). > The dynamic linkers I looked seem to be built with enough code padding > that there's space to replace the ret with a jump. You are likely saved by '-falign-functions=16', which leaves you 15 bytes to play with. You can't count on it though, and I believe that I *have* seen dynamic loaders where there literally was only one byte available. -- Paul Pluzhnikov _______________________________________________ Libunwind-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/libunwind-devel
