Draging the attached back into the thread :-) > So something like: > > if (have symbol) > { > return (symbol matches __sigtramp.*); > } > else > { > return (mem[pc] == magic && mem[pc+1] == magic && ...); > } Making it: if (have symbol) -- new code return symbol matches __sigtramp.* else if (!find_pc_section) -- old code, sigtramps do not exist in a section return (mem[pc] == magic && mem[pc+1] == magic && ...) yes, that's much better. > Is it possible to add an extra guard to the else clause so that memory is only examined when there's a reasonable likelyhood of it being a sigtramp? Andrew